docker-compose:无法指定nginx配置

时间:2016-04-29 18:51:46

标签: nginx docker-compose

我试图通过docker-compose设置一个nginx容器。我有一个我想要使用的自定义配置。我在与容器共享的卷上使配置可用。

nginx:
      volumes:
      - shared:/shared
      image: nginx
      ports:
      - "8080:80"
      - "443:443"
      command: /bin/bash -c ./shared/nginx_test.conf

以下是配置文件:

daemon off;

http {
    server {
    location / {
        root /shared/data/www;
    }

    location /images/ {
        root /data;
    }
    }
}

当我做一个docker-compose时,我在配置中的每一行都会收到错误,说明找不到该命令。例如./shared/nginx_test.conf: line 1: daemon: command not found./shared/nginx_test.conf: line 3: http: command not found等等。

我尝试按照指南here进行操作。关于为什么nginx找不到命令的任何想法?

1 个答案:

答案 0 :(得分:3)

您正在尝试使用bash -c运行脚本文件,您看到了吗?那不是你想要的。 (错误消息表示不理解./shared/nginx_test.conf的内容,Bash将其解释为终端命令。)

您可能希望运行类似nginx -g daemon off的命令,并将配置文件作为参数附加:

nginx:
    # ...
    command: nginx -c ./shared/nginx_test.conf -g "daemon off;"

参考文献: