Webサーバが稼働するコンテナc2を構築します。コンテナc2にApache Webサーバのhttpd RPMパッケージをインストールします。稼働中のコンテナc2にログインし、作業します。
# docker exec -it c2 /bin/bash c2 # echo "proxy=http://proxy.your.site.com:8080" >> /etc/yum.conf c2 # yum install -y httpd iproute
テスト用のWebコンテンツ「test.html」を、コンテナc2上の「/var/www/html」ディレクトリに作成します。
c2 # echo "Hello OVS with Docker." > /var/www/html/test.html
コンテナc2でIPアドレスとMACアドレスが正しく設定されているかを確認します。
c2 # ip a ... 16: eth0@if17: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:01:02:03:04:06 brd ff:ff:ff:ff:ff:ff inet 172.16.1.172/16 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::c414:28ff:feb4:f845/64 scope link valid_lft forever preferred_lft forever
コンテナc1と同一LANセグメントに存在するクライアントから、コンテナc1に疎通確認を行います。Linuxが稼働するクライアントのコマンドプロンプトを「client $」で表すとします。
client $ ping -c 3 172.16.1.172 ... ...
クライアントから、コンテナc2が提供するWebコンテンツにアクセスできるかを確認します。
client $ curl http://172.16.1.172/test.html Hello OVS with Docker.
同様にコンテナc1からも、コンテナc2が提供するWebコンテンツにアクセスできるかを確認します。
c1 # curl http://172.16.1.172/test.html Hello OVS with Docker.
以上で、ホストOSと同一LANセグメントに所属するコンテナc1、c2を作成し、コンテナc1とクライアントからコンテナc2が提供するWebコンテンツtest.htmlを閲覧することができました。
今回は単純なネットワーク構成ですが、OVSを利用することで、簡単に構築できることがお分かりいただけたかと思います。次回はOVSの管理や変更方法を解説します。
日本ヒューレット・パッカード株式会社 オープンソース・Linuxテクノロジーエバンジェリスト。兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。現在は日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linux テクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「OpenStack 実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。古賀氏の最新記事が読めるブログはこちら。
Copyright © ITmedia, Inc. All Rights Reserved.