Aquesta és una revisió antiga del document


docker (altran)

Ponente: Daniel Sanchez

  • 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
  • docker info
  • docker ps
    • -a : all
    • -q : only ID
    • -f <filter> : docker -ps -af «status=exited»
  • docker search
  • docker inspect <id> : vuela JSON con información
    • docker inspect <id> | grep IPAddress
  • estados de los contenedores
    • CREATED
      • → start → RUNNING
      • → pause → PAUSED → unpause RUNNNIG
      • → stop → STOPPED → restart → RUNNIG
      • → kill → KILLED
  • docker ps
    • -a
    • -q
  • docker run <imagen> [<comando>]
    • -i : interactive
    • -t : tty
    • –rm : contenedor de un solo uso
    • -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 run -it <container_id> : al salir del contenedor pasa a STOPPED
  • docker start <contenedor> : arrancar contenedor parado
  • docker pause <contenedor>
  • docker unpause <contenedor>
  • docker stop <contenedor>
  • docker kill <contenedor>
  • docker exec [-it] <container> [<comando>]
    • bash o sh serían comandos válidos si están instalados en el contenedor
  • docker 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
  • docker pull debian[:<tag>]
  • docker images
    • -f o –filter
      • «dangling=true»: filtra lista imágenes no tageadas
      • «label=<clave>»: filtra por labels (a nivel de imagen, se ven siempre)
      • «label=<clave>=<valor>» : filtra por el contenido de las claves
    • –format «{{.ID}}:{{.Repository}}»: formato de salida (escrito en Go, plantilla)
  • docker rmi <imagen_id>: borrar una imagen
  • docker tag <imagen_id> <nuevo_nombre> asignar un nombre a una imagem sin tagear, copiar si ya estaba tageada
  • docker save -o <destino> <imagen>:<tag> guarda en <destino> una copia «física» de la imagen
    • NO recomendado!
  • docker load -i <imagen_disco>: importa la imagen
  • docker history <imagen>: muestra las capas de una imagen y el tamaño de cada una
#48
FROM <imagen>
RUN <comandos> # apt-get update && apt-get install -y wget
  • docker build -t <nombre_imagen>[:<tag>]
  • FROM <image>[:<tag]
    • … as <nombre> : nombre interno para referencias posteriores
# si imagen tiene CMD=/bin/bash, con este comando se detacha y queda un tty, lo que deja el contenedor enganchado a un proceso (y no hace exit):
docker run -dt ubuntu
  • compartir archivos: nginx-autoindexdocker run –rm -p 80:80 -v $PWD:/usr/share/nginx/html jrelva:nginx-autoindex
  • info/cursos/altran/docker.1532344066.txt.gz
  • Darrera modificació: 23/07/2018 04:07
  • per mate