Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制docker网络的使用?_Docker_Docker Networking - Fatal编程技术网

如何限制docker网络的使用?

如何限制docker网络的使用?,docker,docker-networking,Docker,Docker Networking,我正在寻找一种方法来限制“主机”作为运行Docker映像的网络的访问。我已经搜索了几天,但找不到解决方案。 有没有办法限制Docker用户的网络访问 e、 g.删除主机选项并始终使用网桥作为网络,因此当您调用sudo docker network ls时,输出将仅为网桥而非网络 或者任何其他阻止使用主机的方法。通常,如果您可以运行任何docker命令,则您可以无限访问docker可以执行的所有操作,并通过该操作,无限访问主机系统的根级别访问。没有(内置)方法来限制Docker功能或阻止特定的Do

我正在寻找一种方法来限制“主机”作为运行Docker映像的网络的访问。我已经搜索了几天,但找不到解决方案。 有没有办法限制Docker用户的网络访问

e、 g.删除主机选项并始终使用网桥作为网络,因此当您调用
sudo docker network ls
时,输出将仅为网桥而非网络


或者任何其他阻止使用主机的方法。

通常,如果您可以运行任何
docker
命令,则您可以无限访问docker可以执行的所有操作,并通过该操作,无限访问主机系统的根级别访问。没有(内置)方法来限制Docker功能或阻止特定的
Docker运行
选项


原则上,可以编写某种HTTP代理,该代理通过但限制了某些选项(例如,如果包含不允许的
NetworkMode
值,则返回HTTP 401状态代码,其中包含格式正确的JSON错误)。实现这一点本身就是一个重要的项目,超出了堆栈溢出解决方案的范围。

一般来说,如果您可以运行任何
docker
命令,那么您可以无限访问docker所能做的一切,并通过它无限访问主机系统的根级别。没有(内置)方法来限制Docker功能或阻止特定的
Docker运行
选项


原则上,可以编写某种HTTP代理,该代理通过但限制了某些选项(例如,如果包含不允许的
NetworkMode
值,则返回HTTP 401状态代码,其中包含格式正确的JSON错误)。实现这一点本身就是一个重大的项目,超出了堆栈溢出问题的回答范围。

因此我找到了一个解决方案(替代方案)来解决我的问题,我认为它可能会帮助其他人解决同样的问题。如果您试图在公共服务器上使用docker,并且不想让人们使用网络托管(它基本上与根用户相同),那么您可以使用“Singularity”。我试过了,效果很好。唯一需要花费时间的事情是,您无法在singularity环境中构建docker文件,因此您必须在本地构建它们,将它们推送到docker repo,并将它们通过服务器上的singularity环境。它可能有助于希望保持服务器隐私的系统管理员,同时让人们能够灵活地使用docker。

因此,我找到了一个解决方案(替代方案)来解决我的问题,我认为它可能有助于其他人解决同样的问题。如果您试图在公共服务器上使用docker,并且不想让人们使用网络托管(它基本上与根用户相同),那么您可以使用“Singularity”。我试过了,效果很好。唯一需要花费时间的事情是,您无法在singularity环境中构建docker文件,因此您必须在本地构建它们,将它们推送到docker repo,并将它们通过服务器上的singularity环境。这可能有助于希望保持服务器隐私的系统管理员,同时让人们能够灵活地使用docker。

感谢您的回答。管理员可以限制用户的某些命令吗?使用主机网络选项,在用户为sudoer且在docker组中的服务器上运行docker将不安全。否,无法限制使用
docker
命令可以执行的操作。(您可以非常轻松地使用它编辑主机的
/etc/sudoers
文件等。)您可能不想在多用户系统上授予Docker访问权限。谢谢您的回答。管理员可以限制用户的某些命令吗?使用主机网络选项,在用户为sudoer且在docker组中的服务器上运行docker将不安全。否,无法限制使用
docker
命令可以执行的操作。(您可以非常轻松地使用它编辑主机的
/etc/sudoers
文件等。)您可能不想在多用户系统上授予Docker访问权限。