建立一個overlay驅動的網路
docker network create -d overlay wordpress [vagrant@swarm-manager ~]$ docker network ls NETWORK ID NAME DRIVER SCOPE q3rp3i79eud7 wordpress overlay swarm
登入後複製
建立mysql容器
docker service create --name mysql --env MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wordpress --network wordpress --mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql
登入後複製
建立wordpress
docker service create --name wordpress -p 80:80 --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql --network wordpress wordpress
登入後複製
查看節點分佈
# 服务列表 [vagrant@swarm-manager ~]$ docker service ls ID NAME MODE REPLICAS IMAGE PORTS vxz0bfmul9th mysql replicated 1/1 mysql:5.7.22 cpe3wqrsoqxi wordpress replicated 1/1 wordpress:latest *:80->80/tcp # wordpress服务的节点分布 [vagrant@swarm-manager ~]$ docker service ps wordpress ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS tnh4f0ldyidl wordpress.1 wordpress:latest swarm-manager Running Running 4 minutes ago # mysql服务的节点分布 [vagrant@swarm-manager ~]$ docker service ps mysql ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS jns8bllzbz94 mysql.1 mysql:5.7.22 swarm-work1 Running Running 33 minutes ago
登入後複製
雖然wordpress 只分佈在了swarm-manager(192.168.205.10)這一個節點上,但是我們發現使用如下鏈接訪問,效果都是一樣的,是不是很神奇。 。 。具體原因詳見7.6
http://192.168.205.10/ http://192.168.205.11/ http://192.168.205.12/
登入後複製
在 swarm 模式下,無需安裝etcd,swarm會自動幫我們維護好分散式的overlay網路