我正在构建一个需要项目目录之外的模块的测试项目。项目文件夹在docker中,我想将该模块目录绑定到我的项目的docker容器中。它甚至可以做到吗?或者我问错了问题?顺便说一句,我对码头工作者来说还是新人,所以我只是在努力解决问题。
答案 0 :(得分:18)
我的理解是,您需要将主机文件夹挂载到容器中。所以试试这个:
docker run -v /host/project_folder:/container/project -t avian/project_image bash
-v
- --volume = []绑定卷/host/project_folder
- 主机服务器的文件夹/container/project
- 容器的文件夹最新的docker版本(v1.9.1)支持新命令volume
。所以你应该更容易管理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
这样,您可以随时删除容器mysql
,而不会丢失数据库数据。
答案 1 :(得分:5)
您可以使用(AND|OR)(.*)
选项将-v
(例如您的文件夹)装入容器中。可以找到更多详细信息in the docs。
,例如,来自volume
博客平台的Dockerfile示例:
ghost
将本地驱动器上的docker run -v /data/ghost:/var/lib/ghost -d ghost
映射到容器内的/data/ghost
。
您还可以使用/var/lib/ghost
选项将另一个泊坞窗容器指定为数据的source
。