2016-09-26 9 views
1

ドッキング・コンテナーのループバック(lo)インターフェースで別名を設定する必要があります。私はドッカー作成ファイルでこれを行う方法を理解できません。ドッキング・コンテナーのloインターフェースにIPを追加

loインターフェイスに127.0.0.2、127.0.0.3、および127.0.0.4を追加する必要があります。ドッカー作成ファイルでこれをどのように行うことができますか?

私のMacでは、ちょうどifconfig lo0 alias 127.0.0.4 upのようなことをすることができましたが、これをドッカーのコンテナで行う方法を理解できません。

答えて

1

最初に127.0.0.1/8loインターフェイスに割り当てられているため、linuxは127.0.0.2-4にデフォルトで応答します。インターフェイスにアドレスを「追加」する必要はなく、単にそれらを使用するだけです。

インターフェイス上に特定のアドレスが必要な場合は、Dockerネットワークの内部に入る必要があります。 pipeworkというユーティリティがあります。このタイプのものを扱い、これらのステップはコードから取り除かれています。

コンテナのPID

NSPID=$(docker inspect -f '{{ .State.Pid }}' <container>) 

このコンテナ

mkdir -p /var/run/netns 
rm -f "/var/run/netns/$NSPID" 
ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID" 

ためip netns作業は、インターフェイスにIPアドレスを追加します

ip netns exec $NSPID ip ad add 127.0.0.2/32 dev lo 

は、新しい設定があることを確認してみましょう取得します

ip netns exec $NSPID ip ad sh lo 

これにより、コンテナのネットワーク名前空間に変更を加えることができます。