这里是我的上下文:我有一个包含他的docker-compose文件的caddy+php+mysql博客项目,我需要在前面放置一个traefik反向代理。为了在本地测试,我计划在blog.localhost上提供这个服务,看看会发生什么。
当我把所有东西都堆叠在同一个docker-compose.yml中时,它就像一个魔咒;但是当我把它切成两个不同的docker-compose.yml文件,而traefik在他自己的文件中时,我得到了一些"Gateway Timeout“。
我猜有一个网络的问题,每个容器到单个组合中都隐含着它们之间的网络,但在两个文件之间我需要声明一个网络(第一个问题:我是对的吗?)
但我试图声明一个网络,但什么也没发生。
事实上,我的问题可以简化为这种情况,来自traefik官方文档的典型基本示例:
version: "3.3"
services:
traefik:
image: "traefik:v2.3"
container_name: "traefik"
command:
#- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
- "traefik.http.routers.whoami.entrypoints=web"问题是如何在两个分离的docker-compose文件/ docker run命令中工作?
非常感谢您的提前!
发布于 2020-12-05 18:58:07
好的,我明白了:
网络:默认:外部:名称:代理
我唯一担心的是,我没有找到在traefik的docker-compose.yml文件中直接创建这个网络的方法。也许我们不能在一个组合中创建一个外部网络?
发布于 2021-11-29 14:55:14
直接创建此网络的方法:
https://docs.docker.com/compose/networking/
还可以为
网络指定自定义名称(从3.5版开始):
version: "3.9"
services:
# ...
networks:
frontend:
name: custom_frontend
driver: custom-driver-1https://stackoverflow.com/questions/65133675
复制相似问题