繁体   English   中英

docker-compose nginx卷未挂载

[英]docker-compose nginx volumes not mounted

我只有docker-compose.yml,其中只有nginx,但是运行它时,在nginx容器内找不到卷。 Dockerfile在另一个设置中工作正常,并且src目录存在,所以我不明白为什么这在这里不起作用?

Nginx说:

nginx_1 | 2015/06/04 09:33:32 [错误] 13#0:* 1 open()“ /var/www/web/index.html”失败(2:无此类文件或目录),客户端:172.17.42.1 ,服务器:,请求:“ GET /index.html HTTP / 1.1”,主机:“ localhost:8085”

树:

.
├── code
├── docker-compose.yml
├── logs
├── nginx
└── readme.md

docker-compose.yml

nginx:
    build: nginx/
    volumes:
        - code/dist:/var/www
    ports:
        - 8085:80

Dockerfile:

FROM ubuntu:14.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y \
    nginx

RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
ADD vhost.conf /etc/nginx/sites-enabled/default

ADD start.sh /start.sh
EXPOSE 80

ENTRYPOINT ["/start.sh"]

更新资料

当我在docker-compose.yml中将nginx重命名为othernginx时,它可以工作?
这是为什么?
似乎它干扰了另一个构建中的其他容器,docker-compose不会在不同的docker-compose.yml之间分隔容器吗?

看着错误,nginx试图从/var/www/web/index.html获取index.html。 但是,您正在将代码安装到var/www 我认为容器nginx可能使用的是较早的版本,该版本使用/var/www/web/目录,并且更改容器名称会强制重新构建。 docker-compose up --build应该强制重建。

问题是你的电话

- code/dist:/var/www

如果您将其更改为

- ./code/dist:/var/www

一切都应该没问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM