我如何知道用户空间代理实际上已被启用/禁用?

我如何知道用户空间代理实际上已被启用/禁用?

我有一台装有 Docker 17.05.0-ce 的 CentOS 7.4 VM,我正尝试将其配置为某些 docker 容器的主机。

给我的指导之一是禁用用户空间代理。我创建了/etc/docker/daemon.json一个

{
    "userland-proxy": false
}

我的问题是 - 如果我将该值设置为 true,我可以在系统的其他地方查看什么或进行测试(iptables?docker 信息?)以查看切换该值会产生什么不同?

我相信我的问题源于没有完全理解 userland-proxy 是什么,尽管读过网络页面

答案1

我个人保留此选项,因为尝试禁用时仍存在未解决的问题

代理进程在主机上运行,​​用于在发布容器时将主机上的端口转发到容器中。禁用用户空间代理会将行为切换为仅使用 iptables 规则运行,而不是使用用户空间进程运行。

如果启用了用户代理,您将看到docker-proxy在发布端口时启动的一个进程:

$ docker run -p 8888:80 -d --name nginx_test nginx
ee6f2868ed6f4dd2519f8c538cf969552cc36315ae0ce02c5c2939a325541f76

$ ps auxw | grep docker-proxy
root      7366  0.0  0.0 108128  2396 ?        Sl   10:19   0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8888 -container-ip 172.17.0.2 -container-port 80

$ docker rm -f nginx_test
nginx_test

相关内容