Docker: 我可以访问系统文件吗?

Docker: Can I access to system files?

我对尊重 OS 的系统文件的访问感到困惑,其中 docker 引擎 运行 正在运行。这可能吗? 我认为在某些情况下,我需要使用某些文件来 运行 测试或为其他进程读取文件。在这种情况下我该怎么办?使用我需要的文件创建图像?

要让您的容器访问主机上的文件,其中 docker 是 运行ning,您通常会使用 volume mounts。一个常见的成语是这样的:

docker run -v .:/src myimage /src/run-my-tests

也就是说,将我当前的工作目录挂载为容器中的 /src,然后 运行 某种执行测试的 shell 脚本。

您可以使用卷装载来访问主机上的任何文件或目录。例如:

docker run -v /:/host ...

将使您能够访问整个主机根文件系统。 运行:

docker run -v /etc/motd:/etc/motd ...

会将容器中的 /etc/motd 替换为主机上的容器。阅读文档以获取更多信息。