Docker - cannot mount volume over existing file, file exists

Sven van de Scheur picture Sven van de Scheur · Nov 24, 2015 · Viewed 30.7k times · Source

I'm trying to build a data container for my application in Docker. I run this command to expose some volumes:

docker run --name svenv.nl-data -v /etc/environment -v /etc/ssl/certs -v /var/lib/mysql -d svenv/svenv.nl-data

The problem is that i get this error from this command:

Error response from daemon: cannot mount volume over existing file, file exists /var/lib/docker/aufs/mnt/aefa66cf55357e2e1e4f84c2d4d2d03fa2375c8900fe3c0e1e6bc02f13e54d05/etc/environment

If I understand the Docker documentation correctly. Creating volumes for single files is supported. So I don't understand why I get this error.

Is there somebody who can explain this to me? I'm running Docker 1.9.1 on Ubuntu 14.04.

Answer

dr.scre picture dr.scre · Mar 10, 2016

You should use:

-v /etc/environment:/etc/environment

instead of:

-v /etc/environment

The former maps container volume to the host volume. The latter tries to create a new volume at /etc/environment and fails since this directory already exists.