DevOps Sesión 2 (2022-02-14) Docker

  • exportar contenedor: docker export
  • importar contenedor (como imagen): docker import
  • guardar imagen: docker save
  • cargar imagen: docker load
  • guardar contenedor en marcha como imagen: docker commit
  • k0sctl: instalación kubernetes?
  • política arranque contenedores: –restart <politica>
    • off
    • on-failure
    • always
    • unless-stopped
    • never
  • listado de procesos de un contenedor; docker top <container>
  • docker system
    • df
    • events
    • info
    • prune
  • repositorio local imagenes docker
  • ubicación credenciales (sólo docker-hub?): $HOME/.docker/config.json
  • «Laboratorio docker registry.txt»
  • Dockerfile
    • FROM scratch
    • FROM debian-slim
    • HEALTHCHECK -interval=2m -timeout=3s -retries=3 CMD curl -f http://127.0.0.1:5000/ || exit 1
    • USER (add-user.sh)
    • CMD VS ENTRYPOINT:
      • ##CMD y ENTRYPOINT## 
        El ENTRYPOINT especifica un comando que siempre se ejecutará cuando se inicie el contenedor.
        
        El CMD especifica los argumentos que se ENTRYPOINT al ENTRYPOINT .
        
        Si desea hacer una imagen dedicada a un comando específico, utilizará ENTRYPOINT ["/path/dedicated_command"]
        
        De lo contrario, si desea hacer una imagen para fines generales, puede dejar ENTRYPOINT especificar y usar CMD ["/path/dedicated_command"] ya que podrá anular la configuración al proporcionar argumentos a la docker run .
        
        #Por ejemplo, si su Dockerfile es:
        
        FROM debian:wheezy
        ENTRYPOINT ["/bin/ping"]
        CMD ["localhost"]
        
        #Ejecutar la imagen sin ningún argumento hará ping al localhost:
        
        $ docker run -it test
        PING localhost (127.0.0.1): 48 data bytes
        56 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.096 ms
        56 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.088 ms
        56 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.088 ms
        ^C--- localhost ping statistics ---
        3 packets transmitted, 3 packets received, 0% packet loss
        round-trip min/avg/max/stddev = 0.088/0.091/0.096/0.000 ms
        
        #Ahora, ejecutar la imagen con un argumento hará ping al argumento:
        
        $ docker run -it test google.com
        PING google.com (173.194.45.70): 48 data bytes
        56 bytes from 173.194.45.70: icmp_seq=0 ttl=55 time=32.583 ms
        56 bytes from 173.194.45.70: icmp_seq=2 ttl=55 time=30.327 ms
        56 bytes from 173.194.45.70: icmp_seq=4 ttl=55 time=46.379 ms
        ^C--- google.com ping statistics ---
        5 packets transmitted, 3 packets received, 40% packet loss
        round-trip min/avg/max/stddev = 30.327/36.430/46.379/7.095 ms
        
        ##Para comparación, si su Dockerfile es:
        
        FROM debian:wheezy
        CMD ["/bin/ping", "localhost"]
        
        #Ejecutar la imagen sin ningún argumento hará ping al localhost:
        
        $ docker run -it test
        PING localhost (127.0.0.1): 48 data bytes
        56 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.076 ms
        56 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.087 ms
        56 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.090 ms
        ^C--- localhost ping statistics ---
        3 packets transmitted, 3 packets received, 0% packet loss
        round-trip min/avg/max/stddev = 0.076/0.084/0.090/0.000 ms
        
        #Pero ejecutar la imagen con un argumento ejecutará el argumento:
        
        docker run -it test bash
        root@e8bb7249b843:/#
        
        docker run -it test echo hola
        
        ##En nuestra imagen de jboss ENTRYPOINT $JBOSS_HOME/bin/standalone.sh
        ##Lanzamos la imagen arrancando solo el proceso de bash en el contenedor
        docker run -dit  --entrypoint bash  --name jboss1  jboss-eap-mysql-centos-jdk
    • dockerfile build –no-cache –rm –pull -t <IMAGEN>:<TAG> .
      • –no-cache: no usar cache
      • –rm eliminia contenedores intermedios del build
      • –pull: descargará los FROM de nuevo en el momento del build (para no reaprovechar las imágenes viejas descargadas)
  • info/cursos/pue/devops2022/s2.txt
  • Darrera modificació: 09/03/2022 09:57
  • per mate