**Autor:** [Kamil Baran](https://github.com/kamilbaran)
**Licencia:** {{Aviso de derechos de autor}}
sudo -i
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
exit
docker-compose --versionMás información: docs.docker.com/compose/install
Para iniciar un sitio de Wordpress en contenedores, sigue estos pasos:
- Crear una red personalizada para la aplicación
- Crear un volumen para el contenedor de base de datos
- Crear un volumen para el contenedor del servidor web
- Crear el contenedor de base de datos
- Crear el contenedor del servidor web
docker network create wordpress_net
docker volume create wordpress_mysql_data
docker volume create wordpress_html
docker run -d --name wordpress_mysql --network wordpress_net -v wordpress_mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=NobleProg -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=wordpress mysql:5.7
docker run -d --name wordpress_apache --network wordpress_net -v wordpress_html:/var/www/html -p 80:80 -e WORDPRESS_DB_HOST=wordpress_mysql:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=wordpress wordpress:php7.2-apachePara eliminar completamente el sitio Wordpress:
docker container rm -f wordpress_mysql wordpress_apache
docker volume rm wordpress_mysql_data wordpress_html
docker network rm wordpress_netDocker Compose te permite gestionar aplicaciones multi-contenedor fácilmente. Para iniciar, detener o eliminar el sitio Wordpress:
docker-compose up -d
docker-compose stop
docker-compose down --volumesPasos previos necesarios:
- Instalar Docker Compose (no se incluye por defecto con Docker)
- Crear un archivo
docker-compose.ymlcon el siguiente contenido - Ejecutar los comandos anteriores en el mismo directorio o usar
-fpara indicar la ruta del archivo
version: '3'
services:
mysql:
image: mysql:latest
volumes:
- mysql_data:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=NobleProg
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
networks:
- net
apache:
depends_on:
- mysql
image: wordpress:latest
volumes:
- html:/var/www/html
ports:
- 80:80
environment:
- WORDPRESS_DB_HOST=mysql:3306
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
networks:
- net
volumes:
mysql_data:
html:
networks:
net:- Crear un directorio vacío llamado
mc-app - Copiar el contenido de los directorios
httpd(Dockerfile y carpeta html) ymongodb(Dockerfile) - Crear el siguiente archivo
docker-compose.yml:
version: '3'
services:
httpd:
build: ./httpd
image: kamilbaran/training:httpd
network_mode: host
mongo:
build: ./mongo
image: kamilbaran/training:mongo
network_mode: host- Para construir todas las imágenes e iniciar la aplicación:
docker-compose up --build -dCategorías:
Docker,course_code_dockcm
Más información sobre archivos Compose: docs.docker.com/compose/compose-file