docker-compose.yml相干字段
- ENTRYPOINT_MODE 有vip模式和dnssr模式,vip模式就是应用多个容器对立的虚构ip,dnsrr就是应用实在的IP,而后轮询ip,默认应用vip模式
- MODE 一种是global、一种是replicated,前者不反对横向扩大,后者反对。
- PLACEMENT 指定容器部署的节点、操作系统等等。
- RESOURCES 次要是做一些CPU、内存等资源的限度
- RESTART_POLICY 用于设定容器主动重启的条件
- update_config 用于更新时候的配置
应用docker-compose.yml在swarm上部署
<code class="yml">version: '3' services: web: image: wordpress ports: - 8080:80 depends_on: - mysql environment: WORDPRESS_DB_HOST: mysql WORDPRESS_DB_PASSWORD: root networks: - wordpress-overlay deploy: mode: replicated replicas: 3 restart_policy: condition: on-failure delay: 5s max_attempts: 3 update_config: parallelism: 1 delay: 10s mysql: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: wordpress volumes: - mysql-data:/var/lib/mysql networks: - wordpress-overlay deploy: mode: global placement: constraints: - node.role == manager volumes: mysql-data: networks: wordpress-overlay: driver: overlay
配置部署
<code class="shell">docker stack deploy -c docker-compose.yml wordpress
查看散布
<code class="shell">[vagrant@swarm-manager wordpress-overlay]$ docker stack services wordpress ID NAME MODE REPLICAS IMAGE PORTS gzhzyuo71ycz wordpress_web replicated 3/3 wordpress:latest *:8080->80/tcp v2lsqkq0sjr3 wordpress_mysql global 1/1 mysql:5.7
应用如下三个链接都是能够拜访的
<code class="shell">http://192.168.205.10:8080 http://192.168.205.11:8080 http://192.168.205.12:8080
销毁stack
<code class="shell">docker stack rm wordpress