Caddyエラー「Service is not in same network as caddy」の解決策
lucaslorentz/caddy-docker-proxy
で発生するエラー「Service is not in same network as caddy」に対する解決 策です。
前提
Docker Swarmでlucaslorentz/caddy-docker-proxy
をデプロイし、各種コンテナへのリバースプロキシ用のラベルを適切に設定されている状態。
特に他にエラーが見られず設定に問題がないのにも関わらずエラーが発生する場合。
エラー内容
エラーは以下の通りです。
"msg":"Failed to get ingress networks" "error":"Cannot find container id in cgroups" "msg":"Service is not in same network as caddy"
修正方法
環境変数の CADDY_INGRESS_NETWORKS
に属するネットワークを設定する。
例えば、externalの public
ネットワークに参加しており、 public
に属するコンテナへプロキシを行う場合は、 CADDY_INGRESS_NETWORKS=public
と環境変数を設定する必要がある。
docker-compose.yml 例
version: "3.7" services: caddy: image: lucaslorentz/caddy-docker-proxy:ci-alpine ports:
- 80:80
- 443:443 environment:
- CADDY_INGRESS_NETWORKS=public networks:
- public volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddy_data:/data restart: unless-stopped
networks: public: external: true
volumes: caddy_data: