直接在主机上管理Docker容器的文件系统

时间:2018-03-27 22:13:30

标签: docker docker-machine

开发,测试和分析我希望能够直接在主机上管理容器的文件系统。

使用这个简单的黑客...

cd /proc/$(docker inspect --format {{.State.Pid}} <YOUR_CONTAINER_ID>)/root

...我可以通过简单的方式管理容器的文件系统文件。但是,我只能以root身份执行此操作。

我不是Docker的专家,所以我想从社区获得一些反馈。 有什么建议吗?有更好的方法吗?

重要提示:我知道在自己的文件系统中管理容器的数据并不是一种好的做法,更不用说将数据直接存储到其文件系统中了。我只是想让我的开发,测试和分析过程更加灵活和简单。生产环境中不会采用此过程。

加:我想以普通用户身份管理容器的文件系统,而不是root用户。是否可以使用所提出的方法执行此操作?这样我就可以使用Dolphin,Nautilus,Thunar等文件管理器。

谢谢!

参考:
https://stackoverflow.com/a/32498954/3223785
https://superuser.com/a/1288058/195840
https://github.com/moby/moby/issues/26872

1 个答案:

答案 0 :(得分:1)

强烈建议您不要访问容器的文件系统。如果你需要的是在主机和容器之间共享文件,那么bind-mount就是你的选择。

如果我有代码目录/home/yuankun/code,请参阅。我想将此目录共享到正在运行的容器,以便对该目录所做的任何更改都将立即对容器可见。这是启动容器的命令:

docker run -v /home/yuankun/code:/code <IMAGE>

-v选项告诉Docker Engine将/home/yuankun/code目录绑定到容器。您可以在容器内的/code目录中访问您的代码。

相关问题