ブリッジネットワーク「mynet1」に所属するコンテナを起動するには、コンテナ起動時に「--net mynet1」を付与します。また、ブリッジネットワーク「mynet1」に所属するコンテナに対して、固定IPアドレスを振ることができます。今回は、ブリッジネットワーク「mynet1」に所属するコンテナ「test01」にIPアドレスとして172.16.44.11/16を付与して起動します。test01コンテナは、Webサーバ入りのDockerイメージ「larsks/thttpd」を使用しました。
# docker run -itd --name test01 --net mynet1 --ip 172.16.44.11 larsks/thttpd
コンテナが稼働しているかを確認します。
# docker ps -a CONTAINER ID IMAGE COMMAND ... STATUS ... NAMES 0c4b281752a3 larsks/thttpd "/thttpd -D -l /dev/s" ... ... test01
コンテナtest01に割り当てられた固定IPアドレスをホストOS上から確認します。コンテナに割り当てられたIPアドレスを調べるには、以下のように「docker inspect」が利用可能です。
# docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' test01 172.16.44.11
以上によりWebサーバ入りのコンテナtest01は、ホストOSと同一LANセグメントに所属することができましたので、172.16.0.0/16のLANに所属する別のホストBやクライアントPCなどからコンテナのIPアドレスにアクセスしてみます。
$ curl http://172.16.44.11 ... <pre> ____ _ _ _ _ / ___|___ _ __ __ _ _ __ __ _| |_ _ _| | __ _| |_(_) ___ _ __ ___ | | / _ \| '_ \ / _` | '__/ _` | __| | | | |/ _` | __| |/ _ \| '_ \/ __| | |__| (_) | | | | (_| | | | (_| | |_| |_| | | (_| | |_| | (_) | | | \__ \ \____\___/|_| |_|\__, |_| \__,_|\__|\__,_|_|\__,_|\__|_|\___/|_| |_|___/ |___/ </pre> ...
SwarmやNATを使わずに、ホストOSとコンテナが単一のネットワークセグメントに所属し、マルチホストによる通信が実現できました。
後編につづく
日本ヒューレット・パッカード株式会社 オープンソース・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.