After a few months of debate, we’ve decided to set up a cooking blog. After researching different platforms, we’ve chosen WordPress with MySQL. We have a swarm cluster already set up where we host customer sites. To make maintaining WordPress easier, we’ve decided to set it up as a stack. We’ll need to create the Docker Compose file, deploy the stack, and finish the WordPress setup.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Complete the Swarm Setup
Get a join token:
[[email protected]]$ docker swarm join-token worker
Add a worker node to the swarm:
[[email protected]]$ docker swarm join --token [TOKEN] [MANAGER_PRIVATE_IP]:2377
- Create the Compose File
Create the compose file:
[[email protected]]$ vi docker-compose.yml
docker-compose.yml:
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql networks: mysql_internal: aliases: ["db"] environment: MYSQL_ROOT_PASSWORD: P4ssw0rd0! MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: P4ssw0rd0! blog: depends_on: - db image: wordpress:latest networks: mysql_internal: wordpress_public: ports: - "80:80" environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: P4ssw0rd0! volumes: db_data: networks: mysql_internal: internal: true wordpress_public:
- Create the WordPress Blog
Deploy the stack:
docker stack deploy --compose-file docker-compose.yml wp
- Complete the WordPress Setup
Natviate to public IP of your manager node.
Fill out the form and complete the setup.