Crea una imagen base y copia el contenido del directorio hola
en
/app
dentro de la imagen.
- Crea un directorio de trabajo vacío.
- Crea el directorio de código de la aplicación que correrá en Docker.
- Crea un archivo
Dockerfile
con las instrucciones para construir la imagen. - Construye la imagen con una etiqueta
hola-mundo
que la identifique. - Ejecutara la aplicación dentro de un contenedor Docker
mkdir -p /tmp/work && cd /tmp/work
mkdir hola
cat >>Dockerfile<<EOF
FROM alpine
COPY ./hola /app
CMD ["echo", "¡Hola, Mundo!"]
EOF
docker build -t hola-mundo .
docker run hola-mundo
Para ver los contenedores en ejecución.
docker ps
Cambia el formato que docker ps
usa para mostrar los contenedores.
docker ps --format "table {{.Names}} {{.Ports}}"
Para inspeccionar detalles de un contenedor en ejecución en particular, es necesario conocer su ID
docker inspect <ID>
Para montar directorios del host donde Docker se ejecuta y mapear
puertos TCP desde el host hacía los contenedores se utilizan los
parámetros -v
y -p
.
Normalmente el almacenamiento de los contenedores es efímero y en
algunos casos es necesario persistir datos generados por la aplicación
corriendo dentro de los contenedores.
docker run -v /srv/volume:/data -p 3306:3306 -d mariadb
Remueve contenedores detenidos que no se usan más.
docker ps -a | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
Para remover imágenes viejas y liberar espacio.
docker rmi $(docker images -q --filter "dangling=true")