回答編集履歴

2

追記

2018/05/31 02:47

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -23,3 +23,59 @@
23
23
 
24
24
 
25
25
  確認できたら、`docker build --network=br0 (略)` で br0 を指定してビルドを実行してみてください。
26
+
27
+
28
+
29
+ ###(2018/05/31 11:47) 追記
30
+
31
+ > 上記を確認する限り、IPAddressとGatewayは割り振られているのですが
32
+
33
+ > IPAddressは本来のshares_nwのgatewayのIPAddressであり、DHCPでは割り振られないIPAddressが割り振られている状況です
34
+
35
+
36
+
37
+ これは正しい動作です。
38
+
39
+ Docker ホストがサブネット 192.168.215.0/24 の中から IPアドレスを割り当てます。
40
+
41
+ コンテナのデフォルトゲートウェイは "--gateway=" で指定した 192.168.215.181 (Docker ホストの br0 の IPアドレス)になります。
42
+
43
+ Docker ホストの iptables で Forward, NAT して、外部と通信できるようになっているはず。
44
+
45
+
46
+
47
+ > 念のため、containerにログインをして
48
+
49
+ > yum -y install net-tools
50
+
51
+ > を実行しましたが、以下の通りのerrorでnet-toolsのinstallができませんでした
52
+
53
+
54
+
55
+ Docker ホストから割り当てられた 192.168.215.1 が既存のホストと競合しているのかもしれません。
56
+
57
+ 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` とすると、外部と通信できませんでしょうか?
58
+
59
+
60
+
61
+ > containerにはvethが割り振られ、ens33とbridgeをしていますが、うまくDHCPサーバーからIPを取得できていないようです
62
+
63
+
64
+
65
+ 192.168.215.0/24 内の DHCPサーバーから IPアドレスを割り当ててもらうには、コンテナ内で dhclient を実行する必要があります。
66
+
67
+ 簡単ではなさそうです。
68
+
69
+ docker run に "--privileged" オプションも必要になると思います。
70
+
71
+
72
+
73
+ [https://www.agilegroup.co.jp/technote/docker-network-in-bridge.html](https://www.agilegroup.co.jp/technote/docker-network-in-bridge.html)
74
+
75
+
76
+
77
+ pipework というものを使う方法もあるようです。
78
+
79
+
80
+
81
+ [http://www.itmedia.co.jp/enterprise/articles/1703/31/news031.html](http://www.itmedia.co.jp/enterprise/articles/1703/31/news031.html)

1

追記

2018/05/31 02:47

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -3,3 +3,23 @@
3
3
 
4
4
 
5
5
  まず、docker run で /bin/bash でも起動してみて、IPアドレスなどが割り当てられているか、yum リポジトリサーバーに接続できるか確認してみてはいかがでしょうか。
6
+
7
+
8
+
9
+ ###(2018/05/28 18:02) 追記
10
+
11
+ 思い違いをしていたかもしれません。
12
+
13
+ 作成した br0 ネットワークでも、docker ホストが IPアドレスを割り当ててくれませんでしょうか?
14
+
15
+
16
+
17
+ 試しに、`docker run -it --network=br0 --name test_br0 centos:7 /bin/bash` で起動し、docker ホストから `docker inspect test_br0` で IPAddress, Gateway が割り当てられているか、yum を実行できるか確認ください。
18
+
19
+
20
+
21
+ "docker network create" 時の "--gateway=192.168.0.181" は **192.168.215.181** の Typo ですよね?
22
+
23
+
24
+
25
+ 確認できたら、`docker build --network=br0 (略)` で br0 を指定してビルドを実行してみてください。