【发布时间】:2021-10-20 16:41:06
【问题描述】:
我有一个包含 Nginx、PhpFpm 和 Varnish 的 docker-compose 文件。
我的 Nginx 是这样工作的: 用户连接到网站 => Nginx (443) => Varnish (80) => Nginx (8080) => Phpfpm:9000 或其他..
我的项目与 docker-compose 中的“depends_on”配置配合得很好。 但是,对于 docker swarm,depends_on 会被忽略。
我的问题开始了..
我的 Varnish 容器需要 Nginx 运行,否则它会崩溃,因为在配置文件顶部定义了主机名:
# varnish config file
backend default {
.host = "nginx";
.port = "8080";
.connect_timeout = 10s;
.first_byte_timeout = 10s;
.between_bytes_timeout = 10s;
}
而且,我的 nginx,需要清漆才能运行,否则它也会崩溃......
# pass to varnish
location / {
proxy_pass http://varnish;
}
upstream varnish {
server varnish:80;
}
太棒了,varnish 崩溃是因为 nginx 没有启动,而 nginx 崩溃是因为 varnish 没有启动。
这个问题有解决办法吗?
【问题讨论】:
标签: docker nginx docker-compose varnish swarm