![](/img/trans.png)
[英]Docker - nginx with mounted host volume hangs using docker-compose
[英]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.