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 infodocker ps-a-q
docker searchdocker 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>]bashoshserí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
restaurar
stage
git reset: elimina stage y lo pasa a workinggit reset <file>
git reset –hard: elimina todas las modificaciones del stage y working (menos untracked)working area
git checkout – <file>: Elimina los cambios en el fichero del working copy git checkout <folder>: Elimina los cambios en el directorio del working copy git checkout .: Elimina los cambios en TODO el working copyfichero untracked
git clean -f: Elimina los ficheros untrackedgit clean -fd: Elimina los ficheros untracked de raiz y directoriosgit clean -id: clean interactivoCurso
ejemplos
- compartir archivos:
nginx-autoindex→docker run –rm -p 80:80 -v $PWD:/usr/share/nginx/html jrelva:nginx-autoindex