第二个Docker容器是否可以在同一系统上运行,从而本地访问另一个容器的内部文件系统?
答案 0 :(得分:2)
没有映射卷,我认为这是不可能的! 当您运行容器时,Docker为该容器创建一个名称空间,并且该名称空间为该容器的进程创建了隔离层,这意味着它们的PID序列,主机名,文件系统等都被隔离了,就好像它们是那台机器上唯一的过程 如果您需要更多信息,请参考本书:https://www.manning.com/books/kubernetes-in-action
答案 1 :(得分:1)
您可以使用在两个单独的容器中作为卷安装的共享文件系统。
以下命令将在当前用户的主目录中创建一个名为nginxlogs的目录,并将其绑定安装到容器中的/ var / log / nginx中:
docker run --name=nginx -d -v ~/nginxlogs:/var/log/nginx -p 5000:80 nginx
然后,您可以在另一个容器上执行相同的操作。 最后,您必须记住,如果来自不同容器的两个单独的进程将尝试访问文件,则会导致冲突。