开发,测试和分析我希望能够直接在主机上管理容器的文件系统。
使用这个简单的黑客...
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
答案 0 :(得分:1)
强烈建议您不要访问容器的文件系统。如果你需要的是在主机和容器之间共享文件,那么bind-mount就是你的选择。
如果我有代码目录/home/yuankun/code
,请参阅。我想将此目录共享到正在运行的容器,以便对该目录所做的任何更改都将立即对容器可见。这是启动容器的命令:
docker run -v /home/yuankun/code:/code <IMAGE>
-v
选项告诉Docker Engine将/home/yuankun/code
目录绑定到容器。您可以在容器内的/code
目录中访问您的代码。