web-dev-qa-db-ja.com

userland-proxyが実際に有効/無効にされていることをどのように確認できますか?

CentOS 7.4 VM with Docker 17.05.0-ceを使用しています。これを一部のDockerコンテナーのホストとして構成しようとしています。

私に与えられたガイダンスの1つは、ユーザーランドプロキシを無効にすることです。 /etc/docker/daemon.jsonを作成しました

{
    "userland-proxy": false
}

私の質問-その値をtrueに設定した場合、システムまたはテスト(iptables?docker info?)の他の場所で何を調べれば、その値を切り替えることによる違いを確認できますか?

ネットワーキングページ を読んでも、userland-proxyが何であるかを完全に理解していないことが私の質問の原因だと思います。

2
Mendhak

無効にしようとすると未解決の問題 があるため、私はこのオプションをオンのままにします。

プロキシプロセスはホスト上で実行され、公開時にホストからコンテナにポートを転送します。ユーザーランドプロキシを無効にすると、ユーザーランドプロセスではなく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
4
BMitch