How can I use a local file on container?

爱⌒轻易说出口 提交于 2019-11-28 18:40:15

Yes, you can do this. What you are describing is a bind mount. See https://docs.docker.com/storage/bind-mounts/ for documentation on the subject.

For example, if I want to mount a folder from my home directory into /mnt/mydata in a container, I can do:

docker run -v /Users/andy/mydata:/mnt/mydata myimage

Now, /mnt/mydata inside the container will have access to /Users/andy/mydata on my host.

Keep in mind, if you are using Docker for Mac or Docker for Windows there are specific directories on the host that are allowed by default:

If you are using Docker Machine on Mac or Windows, your Docker Engine daemon has only limited access to your macOS or Windows filesystem. Docker Machine tries to auto-share your /Users (macOS) or C:\Users (Windows) directory. So, you can mount files or directories on macOS using.

Update July 2019:

I've updated the documentation link and naming to be correct. These type of mounts are called "bind mounts". The snippet about Docker for Mac or Windows no longer appears in the documentation but it should still apply. I'm not sure why they removed it (my Docker for Mac still has an explicit list of allowed mounting paths on the host).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!