将目录绑定到docker容器

时间:2015-05-12 07:04:20

标签: docker containers bind directory

我正在构建一个需要项目目录之外的模块的测试项目。项目文件夹在docker中,我想将该模块目录绑定到我的项目的docker容器中。它甚至可以做到吗?或者我问错了问题?顺便说一句,我对码头工作者来说还是新人,所以我只是在努力解决问题。

2 个答案:

答案 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