繁体   English   中英

Docker的容器装入文件夹

[英]Docker's container mount folder

我是Docker的新手,我正在尝试简单地启动一个nginx应用程序。

为此,我有这个DockerFile:

FROM debian:wheezy
MAINTAINER John Regan <john@jrjrtech.com>

RUN echo "deb http://nginx.org/packages/debian/ wheezy nginx" >> /etc/apt/sources.list.d/nginx.list
RUN apt-key adv --fetch-keys "http://nginx.org/keys/nginx_signing.key"

RUN apt-get update && apt-get -y dist-upgrade
RUN apt-get -y install nginx openssl ca-certificates

##Delete default repository 
RUN rm -rf /etc/nginx/conf.d/*
RUN rm -rf /srv/www/*

ADD conf/nginx.conf /etc/nginx/nginx.conf
ADD conf/conf.d/default.conf /etc/nginx/conf.d/default.conf
ADD html/index.html /srv/www/index.html

VOLUME ["/etc/nginx"]
VOLUME ["/srv/www"]

EXPOSE 80
EXPOSE 443

ENTRYPOINT ["nginx"]
CMD []

我的文件夹组织如下:

├── conf
|   ├── nginx.conf
|   └── conf.d
|         └── default.conf
├── html
|   └── index.html

启动容器的命令:

sudo docker run -d -p 80:80 -v $pwd/conf:/etc/nginx -v $pwd/html:/srv/www my-nginx

但是conatiner停止了,我在日志中收到了这条消息:

nginx: [emerg] open() "/etc/nginx/mime.types" failed (2: No such file or directory) in /etc/nginx/nginx.conf:14

我知道日志非常清楚,但我无法弄清楚它为什么不起作用。

谢谢。

当您安装conf目录时,您正在替换/etc/nginx目录的内容。 而是安装nginx.conf文件和conf/conf.d - 请参阅有关挂载文件的部分, https://docs.docker.com/v1.8/userguide/dockervolumes/

sudo docker run -d -p 80:80 -v $pwd/conf/conf.d:/etc/nginx/conf.d -v $pwd/conf/nginx.conf:/etc/nginx/nginx.conf -v $pwd/html:/srv/www my-nginx

你确定nginx.conf中的配置是否正确? 该错误似乎与nginx有关,而不是与docker有关。

“卷”选项,挂载新的目录点,如果只需要挂载文件,则应该具体。

暂无
暂无

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

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