1.部署swarm的stack部署wordpress

1.拉取wordpress和mysql5.7的镜像

  1. [root@manager wordpress.app]# docker pull wordpress
  2. [root@manager wordpress.app]# docker pull mysql:5.7

2.将镜像全部上传本地仓库

  1. [root@manager wordpress.app]# docker tag c20 192.168.20.101:8000/mysql:5.7
  2. [root@manager wordpress.app]# docker tag c3c 192.168.20.101:8000/wordpress:latest
  3. [root@manager wordpress.app]# docker push 192.168.20.101:8000/wordpress:latest
  4. [root@manager wordpress.app]# docker push 192.168.20.101:8000/mysql:5.7

3.编辑yml文件

  1. [root@manager wordpress.app]# vim wordpress.yml
  2. [root@manager wordpress.app]# cat wordpress.yml
  3. version: "3.2"
  4. services:
  5. wordpress:
  6. image: 192.168.20.101:8000/wordpress:latest
  7. networks:
  8. - wp_net
  9. ports:
  10. - "8100:80"
  11. depends_on:
  12. - database
  13. environment:
  14. WORDPRESS_DB_HOST: database
  15. WORDPRESS_DB_USER: wordpress
  16. WORDPRESS_DB_PASSWORD: wordpress
  17. WORDPRESS_DB_NAME: wordpress
  18. deploy:
  19. mode: replicated
  20. replicas: 3
  21. restart_policy:
  22. condition: on-failure
  23. delay: 5s
  24. max_attempts: 3
  25. update_config:
  26. parallelism: 1
  27. delay: 10s
  28. database:
  29. image: 192.168.20.101:8000/mysql:5.7
  30. networks:
  31. - wp_net
  32. volumes:
  33. - mysql_data:/var/lib/mysql
  34. environment:
  35. MYSQL_ROOT_PASSWORD: wordpress
  36. MYSQL_DATABASE: wordpress
  37. MYSQL_USER: wordpress
  38. MYSQL_PASSWORD: wordpress
  39. deploy:
  40. mode: global
  41. placement:
  42. constraints:
  43. - node.role == manager
  44. networks:
  45. wp_net:
  46. driver: overlay
  47. volumes:
  48. mysql_data:

2.部署应用

1.通过docker stack部署服务

  1. [root@manager wordpress.app]# docker stack deploy -c wordpress.yml seastack_wordpress
  2. Creating service seastack_wordpress_database
  3. Creating service seastack_wordpress_wordpress

2.查看服务

  1. [root@manager wordpress.app]# docker stack ls
  2. NAME SERVICES ORCHESTRATOR
  3. seastack_wordpress 2 Swarm
  4. [root@manager wordpress.app]# docker stack ps seastack_wordpress
  5. ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
  6. uqt4rfi96msg seastack_wordpress_database.sjpeww4y2od50486gqpdml1jl 192.168.20.101:8000/mysql:5.7 manager Running Running 6 minutes ago
  7. ym3i6p7fjnfw seastack_wordpress_wordpress.1 192.168.20.101:8000/wordpress:latest node01 Running Running 6 minutes ago
  8. gawwujjd34ml seastack_wordpress_wordpress.2 192.168.20.101:8000/wordpress:latest manager Running Running 6 minutes ago
  9. qpltkiga7od4 seastack_wordpress_wordpress.3 192.168.20.101:8000/wordpress:latest worker01 Running Running 6 minutes ago

image.png