Docker compose

Comandos

  • docker-compose up [-d] [–scale servicio=x]
    Crea los contenedores y los arranca debe existir en la carpeta un fichero docker-compose.yml
    • -d ejecuta como un demonio manteniéndolos arrancados en segundo plano
    • –scale se indica el servicio y un número y ejecutará tantos containers como los indicados
  • docker-compose stop
    Para todos los contenedores
  • docker-compose start
    Arranca los contenedores en docker compose
  • docker compose down
    Elimina los contenedores y cualquier red que se haya creado entre ellos

Docker compose file

Formato yml, por convención se llama docker-compose.yml

version: '3' # version del fichero docker
services: # servicios asociados
    web: # servicio que se ejecutara
        image: autor/imagen # imagen asociada
        depends_on: # depende de este contenedor, lo ejecutará antes
           - contenedor_1
        ports:
           - 5000:5000 # puertos a abrir
        volumes:
           - ./carpeta_host/archivo: /carpeta_contenedor/archivo
        environments:
           PASSWORD: "FooPass" 
           LOGIN: "Foo"
        context: ./context # al no usar el nombre por defecto
        dockerfile: prod.dockerfile # no se usa el nombre por defecto
    util:
        build: ./folder  # carpeta donde se generará el servicio
        image: autor2/imagen2
        container_name: nombre # nombre de la imagen
        command: echo google # comando que se ejecutará al arrancar     
  • Si no se especifica container_name se cogerá por defecto la concatenación del nombre de la carpeta con el nombre del servicio y el número de instancia
Docker compose