Docker容器A在没有主机卷的情况下访问Docker容器B的文件系统



如果第二个Docker容器在同一系统上运行,它们是否可以本机访问另一个容器的内部文件系统?

如果没有映射卷,我认为这是不可能的!当您运行容器Docker时,为该容器创建一个命名空间,该命名空间为该容器的进程创建一层隔离层,即它们的PID序列、主机名、文件系统。。。。。是孤立的,对他们来说,这就像是机器中唯一的进程如果您需要更多信息,请参阅本书:https://www.manning.com/books/kubernetes-in-action

您可以使用作为卷安装在两个独立容器中的共享文件系统。

以下命令将在当前用户的主目录中创建一个名为nginxlogs的目录,并将其绑定到容器中的/var/log/nginx:

docker run --name=nginx -d -v ~/nginxlogs:/var/log/nginx -p 5000:80 nginx

然后您可以在另一个容器上执行相同的操作。最后,您必须记住,如果来自不同容器的两个独立进程试图访问文件,可能会导致冲突。

最新更新