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/