Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker Swarm:Traefik在compose服务上返回404_Docker_Docker Compose_Docker Swarm_Traefik - Fatal编程技术网

Docker Swarm:Traefik在compose服务上返回404

Docker Swarm:Traefik在compose服务上返回404,docker,docker-compose,docker-swarm,traefik,Docker,Docker Compose,Docker Swarm,Traefik,我有两个运行Docker的设备;一个英特尔NUC和一个树莓皮。我的NUC用作mediaplayer/mediaserver。这也是管理器节点。Pi被用作家庭助理和MQTT机器,并被设置为工作节点。我想把它们添加到swarm中,这样我就可以在这两台机器上使用Traefik进行反向代理和HTTPS NUC: 1个docker为Traefik、Consor和Portainer编写文件。 1 docker为我的媒体应用程序(Sabnzbd、传输vpn、声纳、雷达等)编写文件 Pi: 1个docker为家

我有两个运行Docker的设备;一个英特尔NUC和一个树莓皮。我的NUC用作mediaplayer/mediaserver。这也是管理器节点。Pi被用作家庭助理和MQTT机器,并被设置为工作节点。我想把它们添加到swarm中,这样我就可以在这两台机器上使用Traefik进行反向代理和HTTPS

NUC:
1个docker为Traefik、Consor和Portainer编写文件。
1 docker为我的媒体应用程序(Sabnzbd、传输vpn、声纳、雷达等)编写文件


Pi:
1个docker为家庭助理、MQTT等编写文件

Traefik和Portainer已启动并运行。我用“docker stack deploy”设置了它们。接下来,我尝试设置我的媒体应用程序,但它们不需要与Pi连接,所以我尝试了“docker compose”。Portainer显示应用程序正在运行,但当我转到它们的子域时,Traefik返回404页未找到。这让我得出结论,运行在swarm之外但连接到Traefik的应用程序不起作用。它们也不会出现在Traefik仪表板中

docker compose.traefik.yml-“docker堆栈部署”

版本:“3.7”
网络:
traefik_代理:
外部:正确
代理网络:
可附加:正确
卷数:
领事数据主管:
领事数据副本:
便携式数据:
服务:
领事领导:
图片:领事
命令:agent-server-client=0.0.0.0-bootstrap-ui
卷数:
-领事数据负责人:/consu/data
环境:
-领事绑定接口=eth0
-'concur_LOCAL_CONFIG={“leave_on_terminate”:true}
网络:
-traefik_代理
部署:
标签:
-traefik.frontend.rule=主机:领事。${DOMAINNAME?变量DOMAINNAME未设置}
-traefik.enable=true
-traefik.port=8500
-traefik.tags=${traefik\u PUBLIC\u TAG:-traefik PUBLIC}
-traefik.docker.network=traefik\u代理
-traefik.frontend.entryPoints=http,https
-traefik.frontend.redirect.entryPoint=https
-traefik.frontend.auth.forward.address=http://oauth:4181
-traefik.frontend.auth.forward.authResponseHeaders=X-Forwarded-User
-traefik.frontend.auth.forward.trustForwardHeader=true
领事副本:
图片:领事
命令:agent-server-client=0.0.0.0-retry join=“领事领导”
卷数:
-领事数据副本:/consu/data
环境:
-领事绑定接口=eth0
-'concur_LOCAL_CONFIG={“leave_on_terminate”:true}
网络:
-traefik_代理
部署:
副本:${concur_副本:-3}
安置:
偏好:
-排列:node.id
特拉菲克:
图片:traefik:v1.7
主机名:traefik
重新启动:始终
网络:
-traefik_代理
端口:
-目标:80
出版:80
-目标:443
出版:443
-目标:8080
出版:8145
部署:
副本:${TRAEFIK_副本:-3}
安置:
限制条件:
-node.role==管理器
偏好:
-排列:node.id
标签:
traefik.enable:'true'
traefik.backend:traefik
traefik.protocol:http
traefik.port:8080
traefik.tags:traefik public
traefik.frontend.rule:Host:traefik.${DOMAINNAME}
traefik.frontend.headers.SSLHost:traefik.${DOMAINNAME}
traefik.docker.network:traefik\u代理
traefik.frontend.passHostHeader:'true'
traefik.frontend.headers.SSLForceHost:'true'
traefik.frontend.headers.SSLRedirect:'true'
traefik.frontend.headers.browserXSSFilter:'true'
traefik.frontend.headers.contentTypeNosniff:'true'
traefik.frontend.headers.forceSTSHeader:'true'
traefik.frontend.headers.sts秒:315360000
traefik.frontend.headers.STSIncludeSubdomains:'true'
traefik.frontend.headers.STSPreload:'true'
traefik.frontend.headers.customResponseHeaders:X-Robots-Tag:noindex、nofollow、nosnippet、noarchive、notranslate、noimageindex
traefik.frontend.headers.CustomFrameOptions值:“允许从https:${DOMAINNAME}”
traefik.frontend.auth.forward.address:'http://oauth:4181'
traefik.frontend.auth.forward.authResponseHeaders:X-Forwarded-User
traefik.frontend.auth.forward.trustForwardHeader:'true'
域名:${domainname}
域名系统:
- 1.1.1.1
卷数:
-/var/run/docker.sock:/var/run/docker.sock:ro
-${USERDIR}/docker/traefik:/etc/traefik
-${USERDIR}/docker/shared:/shared
环境:
CF_API_电子邮件:${CLOUDFLARE_电子邮件}
CF_API_KEY:${CLOUDFLARE_API_KEY}
命令:
#-“storeconfig”#这是push to Consor,必须创建辅助traefik并与此traefik连接。移除此traefik的开放端口,一旦发出领事信息,它将关闭。
-“--logLevel=INFO”
-“--unsecureskipverify=true”#用于unifi控制器不抛出内部服务器错误消息
-“--api”
-“--api.entrypoint=apiport”
-“--defaultentrypoints=http,https”
-'--entrypoints=Name:http地址::80重定向。EntryPoint:https'
-4.Min版本:版本:版本:版本12个密码:以下内容:这些内容:这些内容:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是:这些内容是关于RSA(RSA)和(用埃埃埃埃埃斯(128)和128(128)GCM(128)GCM(128)GCM(128)GCM(GCM)M(128)SHA256)SHA256)SHA256(GCM M(SHA256)SHA256)SHA256(SHA256)SHA256,名称256,他们他们的名字,他们的名字,他们的名字,他们的名字,他们的名字是名名名名名名名名名名名名名,他们的名字,他们的名字,他们的名字是名名名名名名名:他们的名字:他们的ECDSA_与_AES_128_CBC_SHA256'
-'--entrypoints=Name:apiport地址::8080'
-“--文件”
-“--file.directory=/etc/traefik/rules/”
-“--file.watch=true”
-“--acme”
-“--acme.storage=/etc/traefik/acme/acme.json”
-“--acme.entryPoint=https”
#还没准备好?
#-“--acme.TLS-ALPN-01=true”
-“--acme.dnsChallenge=true”
-“--acme.dnsChallenge.provider=cloudflare”
-“--acme.dnsChallenge.delayBeforeCheck=60”
-'--acme.dnsChallenge.resolvers=1.1.1,1.0