ニュース
第35回 Open vSwitchで作るDockerのネットワーク(OVSで構築する編):古賀政純の「攻めのITのためのDocker塾」(5/6 ページ)
Dockerでは、OpenStackなどクラウド基盤ソフトウェアでも広く採用されている「Open vSwitch」(OVS)を利用してネットワークを構築することができます。今回は、実際にOVSを利用したネットワークを構築してみましょう。
コンテナc1のIPアドレスの確認、疎通確認
コンテナ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の通信が可能であることを確認できました。
関連記事
- 第34回 Open vSwitchで作るDockerのネットワーク(OVSを知る編)
Dockerのネットワークを構成するには、さまざまな方法があります。今回からは、OpenStackなどクラウド基盤ソフトウェアでも広く採用されている「Open vSwitch」(OVS)を利用した方法を取り上げます。OVSの紹介から始めましょう。 - 第33回 Dockerコンテナ同士の通信方法、フラットなネットワークを作る(後編)
引き続き、「Swarmクラスタ」を使わずに複数の物理サーバで稼働するDockerコンテナ同士を通信させる方法について紹介します。前編ではコンテナ用のネットワーク「mynet1」を用いる方法を取り上げましたが、後編ではこれを使わない方法も取り上げてみたいと思います。 - 第32回 Dockerコンテナ同士の通信方法、フラットなネットワークを作る(前編)
複数の物理サーバで稼働するDockerコンテナ同士を通信させるには「Swarmクラスタ」を使います。実はSwarmクラスタを構成することなく、できる場合があります。今回からその方法を紹介していきましょう。 - 【古賀政純の「攻めのITのためのDocker塾」】バックナンバー
Copyright © ITmedia, Inc. All Rights Reserved.