Aquesta és una revisió antiga del document
docker (altran)
Ponente: Daniel Sanchez
próximos cursos
- vagrant = levantar MV en entorno de desarrollo
- ansible = configurar una de esas máquinas
- jenkins = continuous integration
- kubernetes = orquestador de contenedores : «hypervisor»
- openshift = redhat + kubernetes
resumen comandos
informativos
docker info
docker ps
-a
-q
docker search
docker inspect <id>
: vuela JSON con informacióndocker inspect <id> | grep IPAddress
contenedores
docker ps
-a
-q
docker run <imagen> [<comando>]
-it
: tty interactive–rm
: al parar el contenedor, elimina el contenedor (para no ir dejando un rastro de conenedores)-d
: detach (el proceso no se queda «colgado» ejecutando el contenedor)… lanzar contenedor en background-p 80:80
: mapea el puerto host:contenedor, en todos los interfaces-p 127.0.0.1:80:80
: el contenedor solo será accesible desde 127.0.0.1-P
: mapea el puerto en el que está escuchando el contenedor a un puerto aleatorio del equipo–name <nombre_contenedor>
docker stop <container_id>
docker exec [-it] <container_id> [<comando>]
bash
osh
serían comandos válidos si están instalados en el contenedor
docker run -it <container_id>
: al salir del contenedor pasa a STOPPEDdocker rm <container_id>
- no se puede eliminar containers en ejecución
docker rm $(docker ps -aq)
: elimina todos los contenedores
docker commit <id_contenedor> [REPOSITORY[:TAG]]
: crea imagen de un contenedor
imágenes
docker pull debian[:<tag>]
docker images
-f «dangling=true»
: filtra lista imágenes no tageadas–filter «label=<clave>»
: filtra por labels (a nivel de imagen, se ven siempre)–filter …?
–format «{{.ID}}:{{.Repository}}»
: formato de salida (escrito en Go, plantilla)
docker rmi <imagen_id>
: borrar una imagendocker tag <imagen_id> <nuevo_nombre>
asignar un nombre a una imagem sin tagear, copiar si ya estaba tageadadocker save -o <destino> <imagen>:<tag>
guarda en <destino> una copia «física» de la imagen- NO recomendado!
docker load -i <imagen_disco>
: importa la imagendocker history <imagen>
: muestra las capas de una imagen y el tamaño de cada una
Dockerfile
Curso
ejemplos
- compartir archivos:
nginx-autoindex
→docker run –rm -p 80:80 -v $PWD:/usr/share/nginx/html jrelva:nginx-autoindex