首页 > 解决方案 > 将 docker 容器文件夹链接到主机文件夹

问题描述

我是 docker 新手,我正在尝试执行以下操作:我想在我的主机上拥有一个与 Docker 容器中的文件夹同步的文件夹。我需要这个,因为我想用我在主机上使用的常用软件工具(例如,sublime text、vscode)在容器文件夹的一些文件上写。然后,一旦我在我的主机上编辑完文件,我将在 docker 容器中编译它们并直接在那里测试它们。

我的工作流程如下:

  1. 在 DOCKERFILE 中,我克隆了一个 git 存储库,我们称之为 repo1,然后它将位于 docker 容器中/root/repo1
  2. 我构建了容器(并且我删除了旧的,对于这个问题并不重要)
# Run docker, setup and keep running
echo Running docker, setting it up and keep runnning ...
docker run -dt \
--privileged \
-v /path_to_existing_folder_on_host_machine:/root/repo1 \
-e DISPLAY=:0 \
-p 14556:14556/udp \
--name name_container_1 \
name_container_1
echo ... Finished setting up docker and kept it running in the background

文件夹是同步的:如果我在主机上创建一个文件,我可以从 docker 容器中看到它。但是,我在主机和容器上都有一个空文件夹。

编辑:我知道我所做的是错误的,因为从主机安装卷将有效地“覆盖”容器中存在的文件。因此,我认为我必须找到另一种解决方案。

标签: dockerdocker-volume

解决方案


也许你想像这样挂载你的主机文件夹:

docker run -v <host-file-system-directory>:<docker-file-system-directory>

请参阅在其中运行脚本的 docker 容器外部访问 bash 脚本变量


推荐阅读