|
- 初始化一个swarm集群, 并把当前主机设置为swarm manage
docker swarm init 2.如果想让其它机器加入该集群,可以执行以下命令(本例未使用)
docker swarm join-token worker 可以输出加入该集群并作为worker角色的命令,如下:
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-4vr9acar13e6cbvogs3ptir8fz55jubdkjzyi4u2vljy2i38t8-b94ezwkgbbmt12opnqdmaqrcg 192.168.2.63:2377 3.创建一个docker swarm network, traefik反向代理和我们web服务都要用这个network
docker network create --driver=overlay test-traefik --attachable 4.创建trafik反向代理service
在swarm的manager机器上执行以下命令(具体参数设置可参考:https://docs.traefik.io/user-guide/swarm-mode/)
docker service create \
--name traefik \
--constraint=node.role==manager \
--publish 80:80 --publish 8080:8080
--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock
--network test-traefik traefik
--docker
--docker.swarmmode
--docker.domain=traefik
--docker.watch
--web 启动后,可以通过http://{manager-ip}:8080/ 来访问trafik的web监控界面,可以动态看到反向代理的配置
5.编辑compose-file
vim nginx.yaml
version: '3'
services:
web:
image: nginx
networks:
- "test-traefik"
deploy:
labels:
- "traefik.frontend.rule=Host:www.test.com"
- "traefik.port=80"
networks:
test-traefik:
external: true 6.然后部署compose-file
docker stack deploy --compose-file nginx.yaml web 7.在本地hosts文件添加一行
192.168.2.63 www.test.com 8.访问192.168.2.63:8080与www.test.com。 截图如下
|
|
|
|
|
|
|