Herramientas

Herramientas necesarias para usar Docker

Para levantar los contenedores deberemos tener instalado en nuestra máquina:

  • Docker

  • docker-compose

Docker: Es la propia herramienta de Docker que se encarga de todo.

docker-compose: Es una herramienta que nos ayuda a levantar los contenedores y es la que usaremos para ello.

docker-compose

Como comentamos anteriormente docker nos proporcionará los servicios en distintos contenedores. Con docker-compose podremos levantar todos los contenedores con un simple comando:

docker-compose up -d

Será así de simple levantar un entorno de desarrollo.

Docker-compose se ejecuta con un comando sobre el archivo llamado docker-compose.yml

Aunque no es relevante para el desarrollador, es un archivo donde se configuran los contenedores. Tiene el siguiente aspecto...

version: '3'
services:
  db:
    container_name: my-app-db
    image: mariadb
    volumes:
       - "$PWD/data:/var/lib/mysql"
    environment:
       MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
       MYSQL_DATABASE: "${MYSQL_DATABASE}"
       MYSQL_USER: "${MYSQL_USER}"
       MYSQL_PASSWORD: "${MYSQL_PASSWORD}"
    ports:
      - "${PORT_DB}:3306"
    expose:
      - "${PORT_DB}"
    networks:
      - net_my-app
    restart: on-failure

  phpmyadminmy-app:
    container_name: my-app-phpmyadmin
    image: phpmyadmin/phpmyadmin
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_USER: "${MYSQL_USER}"
      MYSQL_PASSWOR: "${MYSQL_PASSWORD}"
      PMA_ARBITRARY: 1
      PMA_HOST: db
    networks:
      - net_my-app
    depends_on:
      - db
    ports:
      - "${PORT_PHPMYADMIN}:80"
    volumes:
      - ./sessions:/sessions/
    links:
      - db

  phpmy-app:
    build: ./php/
    volumes:
      - "$PWD/apache:/etc/apache2/sites-available/"
      - "$PWD/my-app/:/var/www/html"
    expose:
      - ${PORT_SYMFONY}
    ports:
      - ${PORT_SYMFONY}:80
    networks:
      - net_my-app

networks:
  net_my-app:

Sin entrar en mucho detalle, se puede ver como hay 3 servicios, llamados: db, phpmyadmin y phpmy-app

Dockers UI

Existen varios UI para gestionar los contendores de forma visual, he probado Portainer y parece muy intuitivo...

Para instalarlo usa el comando ...

docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

Podrás acceder a el mediante ... http://localhost:9000

Existen otros puedes encontrar el que más te guste en esta url...

https://blog.codeship.com/docker-guis/

Last updated