如何禁用docker-compose的userland-proxy

jav*_*dev 5 docker-compose

如何禁用"userland-proxy",以便在使用"docker-compose"时禁用它.

我尝试运行docker-compose up --userland-proxy = false但没有运气.

tha*_*tah 14

禁用Userland代理是在守护程序级别配置的全局配置.您无法从客户端更改此配置,因此不能从docker撰写.

要禁用代理,您需要更改守护程序配置(请参阅dockerd reference.您可以按照以下步骤执行此操作(这些步骤应在守护程序运行的主机上完成);

/etc/docker/daemon.json如果文件不存在,请创建一个名为的文件,然后添加该"userland-proxy": false设置.该daemon.json文件应该是有效的JSON; 如果这是该文件中唯一的配置,它应该是这样的;

{
    "userland-proxy": false
}
Run Code Online (Sandbox Code Playgroud)

保存文件后,使用(如果主机使用systemd)重启守护程序;

sudo systemctl restart docker
Run Code Online (Sandbox Code Playgroud)

注意:在适用于Mac的Docker和适用于Windows的Docker上,无法禁用userland-proxy,因为它是网络的重要组成部分(即它允许将连接localhost转发到容器)