コンテナc1にログインします。以下では、コンテナc1のrootアカウントのコマンドプロンプトを「c1 #」、コンテナc2のrootアカウントのコマンドプロンプトを「c2 #」とします。
# docker exec -it c1 /bin/bash c1 #
コンテナc1上で、yumコマンドを使ってRPMパッケージをインストールします。コンテナc1がプロキシサーバ経由でインターネットにアクセスする場合は、コンテナc1上の「/etc/yum.conf」ファイルにプロキシサーバの設定を追記しておきます。
c1 # echo "proxy=http://proxy.your.site.com:8080" >> /etc/yum.conf
コンテナc1上でipコマンドを使ってIPアドレスを確認するため、コンテナc1上にiproute RPMパッケージをインストールします。
c1 # yum install -y iproute
コンテナc1でIPアドレスとMACアドレスが正しく設定されているかを確認します。
c1 # ip a ... 12: eth0@if13: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:01:02:03:04:05 brd ff:ff:ff:ff:ff:ff inet 172.16.1.171/16 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::9c6c:c3ff:fed7:eaa8/64 scope link valid_lft forever preferred_lft forever
さらに、コンテナc1のデフォルトゲートウェイが正しく設定されているかを確認します。
c1 # netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 eth0 172.16.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
コンテナc1からコンテナc2のIPアドレス(172.16.1.172/16)に対して、pingコマンドで疎通確認を行います。
c1 # ping -c 3 172.16.1.172 PING 172.16.1.172 (172.16.1.172) 56(84) bytes of data. 64 bytes from 172.16.1.172: icmp_seq=1 ttl=64 time=0.250 ms 64 bytes from 172.16.1.172: icmp_seq=2 ttl=64 time=0.050 ms 64 bytes from 172.16.1.172: icmp_seq=3 ttl=64 time=0.042 ms --- 172.16.1.172 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1999ms rtt min/avg/max/mdev = 0.042/0.114/0.250/0.096 ms
以上で、コンテナc1とc2の通信が可能であることを確認できました。
Copyright © ITmedia, Inc. All Rights Reserved.