vmagrez
vmagrez

Reputation: 69

Docker's container mount folder

I am new to Docker and I am trying to simply launch an nginx app.

To do this, I have this DockerFile:

FROM debian:wheezy
MAINTAINER John Regan <[email protected]>

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 []

My folder is organise like this:

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

The command to launch the container:

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

But the conatiner stop and I got this message in the log:

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

I know that the log is pretty clear, but I can't figure out why it doesn't work.

Thanks.

Upvotes: 3

Views: 4547

Answers (3)

Oscar L. Sanchez Jara
Oscar L. Sanchez Jara

Reputation: 47

The "volume" option, mount a new point of directory, you should've specifics if you need mount only a file.

Upvotes: 0

Ant Kennedy
Ant Kennedy

Reputation: 1240

When you are mounting your conf dir your are replacing the contents of the /etc/nginx dir. instead mount the nginx.conf file and the conf/conf.d - see the section on mounting files, 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

Upvotes: 1

Jachk E
Jachk E

Reputation: 530

Are you sure the configuration on the in the nginx.conf is correct? The error seems related to nginx not to the docker.

Upvotes: 0

Related Questions