I'm building a test project that requires a module outside of the project directory. The project folder is in docker, and I would like to bind that module directory to the docker container of my project. Is it even possible to do it? Or am I asking the wrong question? By the way, I'm still new to docker so I'm just trying things out.
Asked
Active
Viewed 4.7k times
2 Answers
32
My understand is, you need mount the host folder to the container. So try this:
docker run -v /host/project_folder:/container/project -t avian/project_image bash
explanation
-v
- --volume=[] Bind mount a volume/host/project_folder
- host server's folder/container/project
- container's folder
Update:
The latest docker version (v1.9.1) support a new command volume
. So you should be easier to manage volume in docker.
# For example, I need attach a volume to mysql container.
docker volume create --name mysql-data
docker run --name mysql -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
With that, you can delete container mysql
any time, without lost your database data.

BMW
- 42,880
- 12
- 99
- 116
5
You can use the -v
option to mount a volume
(e.g. your folder) into the container. More details can be found in the docs.
E.g., from ghost
blog platform's Dockerfile example:
docker run -v /data/ghost:/var/lib/ghost -d ghost
Which maps /data/ghost
on the local drive to /var/lib/ghost
inside the container.
You can also specify another docker container as the source
of the data using --volumes-from
option.

musically_ut
- 34,028
- 8
- 94
- 106