在容器里运行 nginx

好风 发表于 2018-09-19T01:22:37.485836Z
引用地址:https://plus.ooclab.com/note/article/1418

在容器(Docker)中运行 nginx 常遇到一些“特别”的问题。

常见问题

部分服务器名无法解析

如下所示,如果将 nginx 与其他容器用 docker-compose 统一运行,需要依赖3个服务 s1, s2, s3 , 如果其中某个服务启动在 nginx 之后,nginx 解析其名称通常会出错,因此需要 显示 将依赖的服务都加入 depends_on 中,这样才能确保 nginx 解析服务名称不会出错。

version: '3'
services:

    nginx:
        image: nginx:1.15.3
        ports:
            - "80:80"
            - "443:443"
        volumes:
            - "./nginx/conf.d/:/etc/nginx/conf.d/"
            - "./nginx/cert:/etc/nginx/cert"
            - "/data/product/nginx/logs:/var/log/nginx"
        depends_on:
            - s1
            - s2
            - s3
    ...