我可以基于主机文件系统构建一个docker容器吗



我想使用docker进行网络隔离,但仅此而已。

更具体地说,我想运行两个程序,如果连接是通过第二个程序中继的,则只允许网络访问一个程序上的某个端口。一个程序是VNC服务器,第二个程序是具有自定义身份验证方案的Websocket中继。

因此,我正在考虑将它们放在一个容器中,并使用docker端口映射来控制它们的网络访问。

我可以设置docker以便直接使用主机的文件系统吗?我想做一些事情,比如访问。Xauthority文件并创建UNIX域套接字(VNC服务器执行此操作(。我知道我可以在容器中装载主机文件系统,但直接将其用作容器的文件系统会更简单。我想。

这可能吗?容易的

不,每个容器都基于封装文件系统层的映像。文件系统命名空间不能在docker中禁用(与可以设置为"host"的网络、pid和其他命名空间不同(。

根据您的需求,如果您不想使用主机卷装载,也不想将应用程序打包在映像中,那么您最好在docker用于实现容器隔离的Linux内核中学习网络名称空间。ip-netns命令是一个很好的起点。

最新更新