首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker网络和Traefik

Docker网络和Traefik
EN

Stack Overflow用户
提问于 2020-12-04 04:30:28
回答 2查看 468关注 0票数 1

这里是我的上下文:我有一个包含他的docker-compose文件的caddy+php+mysql博客项目,我需要在前面放置一个traefik反向代理。为了在本地测试,我计划在blog.localhost上提供这个服务,看看会发生什么。

当我把所有东西都堆叠在同一个docker-compose.yml中时,它就像一个魔咒;但是当我把它切成两个不同的docker-compose.yml文件,而traefik在他自己的文件中时,我得到了一些"Gateway Timeout“。

我猜有一个网络的问题,每个容器到单个组合中都隐含着它们之间的网络,但在两个文件之间我需要声明一个网络(第一个问题:我是对的吗?)

但我试图声明一个网络,但什么也没发生。

事实上,我的问题可以简化为这种情况,来自traefik官方文档的典型基本示例:

代码语言:javascript
复制
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命令中工作?

非常感谢您的提前!

EN

回答 2

Stack Overflow用户

发布于 2020-12-05 18:58:07

好的,我明白了:

  1. 使用"docker network create proxy“命令创建一个外部网络(在组合之外)。
  2. 使用以下命令将您的traefik反向代理和组合(在本例中,在您将创建的whoami docker-compose.yml文件的末尾)链接到此网络:

网络:默认:外部:名称:代理

  1. 启动您的2个compositions
  2. Profit

我唯一担心的是,我没有找到在traefik的docker-compose.yml文件中直接创建这个网络的方法。也许我们不能在一个组合中创建一个外部网络?

票数 2
EN

Stack Overflow用户

发布于 2021-11-29 14:55:14

直接创建此网络的方法:

https://docs.docker.com/compose/networking/

还可以为

网络指定自定义名称(从3.5版开始):

代码语言:javascript
复制
version: "3.9"
services:
  # ...
networks:
  frontend:
    name: custom_frontend
    driver: custom-driver-1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65133675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档