Las imágenes de Docker se almacenan como capas del sistema de archivos. Cada comando en el Dockerfile crea una capa. También puede crear capas utilizando docker commitdesde la línea de comandos después de hacer algunos cambios ( docker runprobablemente a través de ).
Estas capas se almacenan de forma predeterminada en /var/lib/docker. Si bien podría (teóricamente) seleccionar archivos desde allí e instalarlos en un servidor Docker diferente, probablemente sea una mala idea jugar con la representación interna utilizada por Docker.
Cuando empuja su imagen, estas capas se envían al registro (el registro de Docker Hub, por defecto ... a menos que etiquete su imagen con otro prefijo de registro) y se almacenan allí. Al presionar, la identificación de la capa se usa para verificar si ya tiene la capa localmente o si necesita descargarla. Puede usar docker historypara ver qué capas (otras imágenes) se usan (y, en cierta medida, qué comando creó la capa).
En cuanto a las opciones para compartir una imagen sin pasar al registro de Docker Hub, sus mejores opciones son:
docker saveuna imagen o docker exportun contenedor Esto generará un archivo tar a la salida estándar, por lo que le gustaría hacer algo como docker save 'dockerizeit/agent' > dk.agent.latest.tar. Luego puede usar docker loado docker importen un host diferente.
Hospede su propio registro privado. - Anticuado, ver comentarios Ver la imagen de registro de la ventana acoplable . Hemos creado un registro respaldado por s3 que puede iniciar y detener según sea necesario (todo el estado se mantiene en el bucket de s3 de su elección) que es trivial de configurar. Esta también es una forma interesante de ver lo que sucede cuando se empuja a un registro
Use otro registro como quay.io (no lo he probado personalmente), aunque cualquier preocupación que tenga con el Docker Hub probablemente se aplicará aquí también.