Construí una imagen Docker a partir de un dockerfile. Veo que la imagen se creó correctamente, pero ¿qué hago con ella? ¿No debería poder ejecutarse como un contenedor?
docker
docker-image
auge
fuente
fuente
docker ps -a
no son útiles aquí?docker ps
enumera contenedores, no imágenes. Si desea crear una imagen desde un contenedor, debe hacerlodocker commit
. Puedes usar el NOMBRE en la confirmación (por ejemplodocker commit _NAME_ _imagename_
)Haz los siguientes pasos:
$ docker images
Obtendrá una lista de todas las imágenes locales de Docker con las etiquetas especificadas.
$ docker run image_name:tag_name
Si no lo especificó
tag_name
, se ejecutará automáticamente una imagen con la etiqueta 'más reciente'.En lugar de
image_name
, también puede especificar una ID de imagen (sin nombre de etiqueta).fuente
Para enumerar las imágenes de Docker
Si su aplicación quiere ejecutarse con el puerto 80, y puede exponer un puerto diferente para enlazar localmente, diga 8080:
fuente
Puedes ver tus imágenes disponibles usando:
Luego puede ejecutar en modo separado para que su terminal todavía sea utilizable. Tiene varias opciones para ejecutarlo usando un nombre de repositorio (con o sin etiqueta) o ID de imagen:
Luego puede verificar que su contenedor se esté ejecutando usando
docker ps
le da una identificación de contenedor. Puede usarlo o solo los 2/3 primeros caracteres para ingresar a su contenedor usando:Y puedes detenerlo usando
docker stop container_id
ydocker rm container_id
.También puede ejecutar su contenedor con
-rm
argumentos, por lo que si lo detiene, se eliminará automáticamente.fuente
Obtenga el nombre o la identificación de la imagen que desea ejecutar con este comando:
El comando de ejecución Docker se utiliza de la siguiente manera:
A continuación, he incluido las opciones de despacho, nombre, publicación, volumen y reinicio antes de especificar el nombre o id de la imagen:
Dónde:
Para obtener más información, consulte la referencia oficial de ejecución de Docker .
fuente
Aquí hay un ejemplo para ejecutar un servicio webdev en Docker. El nombre de la imagen es morrisjobke / webdav . Puede extraerlo de Docker Hub .
Después de ejecutar estas imágenes, puede acceder a la instancia de WebDAV en
http://localhost:8888/webdav
. Internamente, la carpeta/var/webdav
se utiliza como raíz de WebDAV.Puede ejecutar este contenedor de la siguiente manera:
fuente
Yo tuve el mismo problema. Ejecuté mi imagen Docker y creó un contenedor con un CONTAINER_ID específico. Quería trabajar con el mismo contenedor:
Primero ejecute su imagen Docker:
Luego, enumere todos los contenedores que ha hecho:
Y seleccione el contenedor con el que desea trabajar (el mío es 167ddd6d7f15):
fuente
Como ha creado una imagen desde el Dockerfile, la imagen actualmente no está en estado activo. Para trabajar, necesita ejecutar esta imagen dentro de un contenedor.
El
$ docker images
comando describe cuántas imágenes están disponibles actualmente en el repositorio local. ymuestra cuántos contenedores están disponibles actualmente, es decir, la lista de contenedores activos y salidos.
Hay dos formas de ejecutar la imagen en el contenedor:
En modo separado:
En modo interactivo:
Aquí está el comando de ejecución Docker
Para obtener más aclaraciones sobre la ejecución de Docker, puede visitar la referencia de ejecución de Docker .
Es el mejor material para entender Docker.
fuente
Para ver una lista de todas las imágenes en su host Docker, ejecute:
Ahora puede ejecutar la imagen de Docker como contenedor en modo interactivo:
O si no tiene ninguna imagen localmente, busque Docker Hub para obtener una imagen para descargar:
Extraiga la imagen de Docker de un repositorio con el comando de extracción de docker:
Ejecute la imagen de Docker como contenedor:
fuente
fuente
Para aquellos que también tuvieron el mismo problema, pero encontraron un error como
Agregué un punto de entrada que me funcionó:
docker run -it --entrypoint /bin/sh
para las imágenes sin Bash.Ejemplo (del ejemplo aprobado):
Referencia: https://gist.github.com/mitchwongho/11266726
fuente