回答編集履歴
2
追記
answer
CHANGED
@@ -10,4 +10,32 @@
|
|
10
10
|
|
11
11
|
"docker network create" 時の "--gateway=192.168.0.181" は **192.168.215.181** の Typo ですよね?
|
12
12
|
|
13
|
-
確認できたら、`docker build --network=br0 (略)` で br0 を指定してビルドを実行してみてください。
|
13
|
+
確認できたら、`docker build --network=br0 (略)` で br0 を指定してビルドを実行してみてください。
|
14
|
+
|
15
|
+
###(2018/05/31 11:47) 追記
|
16
|
+
> 上記を確認する限り、IPAddressとGatewayは割り振られているのですが
|
17
|
+
> IPAddressは本来のshares_nwのgatewayのIPAddressであり、DHCPでは割り振られないIPAddressが割り振られている状況です
|
18
|
+
|
19
|
+
これは正しい動作です。
|
20
|
+
Docker ホストがサブネット 192.168.215.0/24 の中から IPアドレスを割り当てます。
|
21
|
+
コンテナのデフォルトゲートウェイは "--gateway=" で指定した 192.168.215.181 (Docker ホストの br0 の IPアドレス)になります。
|
22
|
+
Docker ホストの iptables で Forward, NAT して、外部と通信できるようになっているはず。
|
23
|
+
|
24
|
+
> 念のため、containerにログインをして
|
25
|
+
> yum -y install net-tools
|
26
|
+
> を実行しましたが、以下の通りのerrorでnet-toolsのinstallができませんでした
|
27
|
+
|
28
|
+
Docker ホストから割り当てられた 192.168.215.1 が既存のホストと競合しているのかもしれません。
|
29
|
+
192.168.215.0/24 の中で使用していない IPアドレスを(例えば 192.168.215.251)コンテナの固定IPアドレスとして用意して、`docker run -it --network=shared_nw --ip 192.168.215.251 --name (任意) centos:7 /bin/bash` とすると、外部と通信できませんでしょうか?
|
30
|
+
|
31
|
+
> containerにはvethが割り振られ、ens33とbridgeをしていますが、うまくDHCPサーバーからIPを取得できていないようです
|
32
|
+
|
33
|
+
192.168.215.0/24 内の DHCPサーバーから IPアドレスを割り当ててもらうには、コンテナ内で dhclient を実行する必要があります。
|
34
|
+
簡単ではなさそうです。
|
35
|
+
docker run に "--privileged" オプションも必要になると思います。
|
36
|
+
|
37
|
+
[https://www.agilegroup.co.jp/technote/docker-network-in-bridge.html](https://www.agilegroup.co.jp/technote/docker-network-in-bridge.html)
|
38
|
+
|
39
|
+
pipework というものを使う方法もあるようです。
|
40
|
+
|
41
|
+
[http://www.itmedia.co.jp/enterprise/articles/1703/31/news031.html](http://www.itmedia.co.jp/enterprise/articles/1703/31/news031.html)
|
1
追記
answer
CHANGED
@@ -1,3 +1,13 @@
|
|
1
1
|
ブリッジにしているので、docker コンテナには 192.168.215.0/24 サブネット内にある DHCPサーバーから、IPアドレス、デフォルトゲートウェイ、ネームサーバーが割り当てられるのですよね? docker ホストからではなく。
|
2
2
|
|
3
|
-
まず、docker run で /bin/bash でも起動してみて、IPアドレスなどが割り当てられているか、yum リポジトリサーバーに接続できるか確認してみてはいかがでしょうか。
|
3
|
+
まず、docker run で /bin/bash でも起動してみて、IPアドレスなどが割り当てられているか、yum リポジトリサーバーに接続できるか確認してみてはいかがでしょうか。
|
4
|
+
|
5
|
+
###(2018/05/28 18:02) 追記
|
6
|
+
思い違いをしていたかもしれません。
|
7
|
+
作成した br0 ネットワークでも、docker ホストが IPアドレスを割り当ててくれませんでしょうか?
|
8
|
+
|
9
|
+
試しに、`docker run -it --network=br0 --name test_br0 centos:7 /bin/bash` で起動し、docker ホストから `docker inspect test_br0` で IPAddress, Gateway が割り当てられているか、yum を実行できるか確認ください。
|
10
|
+
|
11
|
+
"docker network create" 時の "--gateway=192.168.0.181" は **192.168.215.181** の Typo ですよね?
|
12
|
+
|
13
|
+
確認できたら、`docker build --network=br0 (略)` で br0 を指定してビルドを実行してみてください。
|