带Docker网络的Traefik
我真的不知道如何在docker networks中使用traefik 我试着运行“wekan”看板。若我将端口绑定到主机,那个么它工作得很好,所以它实际上是通过traefik来处理它。这是我的docker配置:带Docker网络的Traefik,docker,traefik,Docker,Traefik,我真的不知道如何在docker networks中使用traefik 我试着运行“wekan”看板。若我将端口绑定到主机,那个么它工作得很好,所以它实际上是通过traefik来处理它。这是我的docker配置: version: '2' services: wekandb: image: mongo:3.2.14 container_name: wekan-db command: mongod --smallfiles --oplogSize 128 network
version: '2'
services:
wekandb:
image: mongo:3.2.14
container_name: wekan-db
command: mongod --smallfiles --oplogSize 128
networks:
- wekan-tier
expose:
- 27017
volumes:
- wekan-db:/data/db
- wekan-db-dump:/dump
wekan:
image: wekanteam/wekan:latest
container_name: wekan-app
networks:
- wekan-tier
# ports:
# - 8081:80
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=https://wekan.domain.com
depends_on:
- wekandb
labels:
- "traefik.port=80"
- "traefik.backend=wekan"
- "traefik.frontend.rule=Host:wekan.domain.com"
- "traefik.docker.network=wekan_wekan-tier"
volumes:
wekan-db:
driver: local
wekan-db-dump:
driver: local
networks:
wekan-tier:
driver: bridge
我似乎找不到一个方法去接近那该死的东西。。。非常感谢您的回答,它不仅允许我运行Wekan,还可以更新我以前使用链接的服务:链接而不是Docker Networks-链接现在已被弃用。我相信您这里有不止一个问题 首先,在您的compose中,您没有Traefik服务,这是可以的,Traefik将能够从这里的服务中看到容器,但Traefik将无法向其发送请求,因为Traefik服务和wekan服务不共享同一网络 因此,要解决这个问题,您需要为Traefik创建一个特定的网络,并在撰写文件中进行设置 例如:
$ docker network create traefik-net
$ docker service --name traefik --network traefik-net .... traefik ....
其次,您需要定义Traefik用于连接您的服务的网络,该网络必须与Traefik服务共享
因此,您的wekan服务需要如下:
wekan:
image: wekanteam/wekan:latest
container_name: wekan-app
networks:
- wekan-tier
- traefik-net
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=https://wekan.domain.com
depends_on:
- wekandb
labels:
- "traefik.port=80"
- "traefik.backend=wekan"
- "traefik.frontend.rule=Host:wekan.domain.com"
- "traefik.docker.network=traefik-net"
我相信你有不止一个问题 首先,在您的compose中,您没有Traefik服务,这是可以的,Traefik将能够从这里的服务中看到容器,但Traefik将无法向其发送请求,因为Traefik服务和wekan服务不共享同一网络 因此,要解决这个问题,您需要为Traefik创建一个特定的网络,并在撰写文件中进行设置 例如:
$ docker network create traefik-net
$ docker service --name traefik --network traefik-net .... traefik ....
其次,您需要定义Traefik用于连接您的服务的网络,该网络必须与Traefik服务共享
因此,您的wekan服务需要如下:
wekan:
image: wekanteam/wekan:latest
container_name: wekan-app
networks:
- wekan-tier
- traefik-net
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=https://wekan.domain.com
depends_on:
- wekandb
labels:
- "traefik.port=80"
- "traefik.backend=wekan"
- "traefik.frontend.rule=Host:wekan.domain.com"
- "traefik.docker.network=traefik-net"
我已修改了docker compose文件以使其正常工作:
version: '3'
services:
web:
image: wekanteam/wekan:latest
networks:
- wekan-tier
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=https://wekan.domain.com
labels:
- "traefik.port=80"
- "traefik.docker.network=wekan_wekan-tier"
wekandb:
image: mongo:3.2
command: mongod --smallfiles --oplogSize 128
networks:
- wekan-tier
expose:
- 27017
volumes:
- wekan-db:/data/db
- wekan-db-dump:/dump
traefik:
image: 'traefik:1.6'
command: --web --docker --docker.watch --docker.domain=local --logLevel=DEBUG
labels:
- traefik.docker.network=wekan-tier
- traefik.port=8080
ports:
- '80:80'
- '8080:8080'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
networks:
- wekan-tier
volumes:
wekan-db:
driver: local
wekan-db-dump:
driver: local
networks:
wekan-tier:
driver: bridge
现在使用以下命令启动容器:
$ docker-compose -p wekan up -d
要检查traefik
是否正常工作,请转到,如果遇到问题,请使用$service apache2 stop
停止apache服务器。另一方面,如果可以看到traefik界面,则将以下行添加到/etc/hosts
文件中:
127.0.0.1 web.wekan.local
现在转到,您将看到Wekan登录页面:)我已修改了docker compose文件以使其正常工作:
version: '3'
services:
web:
image: wekanteam/wekan:latest
networks:
- wekan-tier
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=https://wekan.domain.com
labels:
- "traefik.port=80"
- "traefik.docker.network=wekan_wekan-tier"
wekandb:
image: mongo:3.2
command: mongod --smallfiles --oplogSize 128
networks:
- wekan-tier
expose:
- 27017
volumes:
- wekan-db:/data/db
- wekan-db-dump:/dump
traefik:
image: 'traefik:1.6'
command: --web --docker --docker.watch --docker.domain=local --logLevel=DEBUG
labels:
- traefik.docker.network=wekan-tier
- traefik.port=8080
ports:
- '80:80'
- '8080:8080'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
networks:
- wekan-tier
volumes:
wekan-db:
driver: local
wekan-db-dump:
driver: local
networks:
wekan-tier:
driver: bridge
现在使用以下命令启动容器:
$ docker-compose -p wekan up -d
要检查traefik
是否正常工作,请转到,如果遇到问题,请使用$service apache2 stop
停止apache服务器。另一方面,如果可以看到traefik界面,则将以下行添加到/etc/hosts
文件中:
127.0.0.1 web.wekan.local
现在转到,您将看到Wekan登录页面:)