Dockerで固定IPアドレスを使う。

  • 83
    Like
  • 0
    Comment
More than 1 year has passed since last update.

Dockerで固定IPアドレスを使う。

最近のDockerでは固定IPアドレスが普通に使えるようになっていたのでメモ。
試した環境はCentOS7です。

新しいバージョンのDockerをインストールする。

現在、CentOSのリポジトリにあるDockerが1.9.1と若干古めで固定IPアドレス設定に対応していません。
そこで、dockerオフィシャルリポジトリからインストールします。

まず、リポジトリ設定

$ sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

CentOSのリポジトリからインストールしていたらアンインストールする。

$ sudo yum remove docker docker-selinux

普通にyumを使ってインストール

$ sudo yum install docker-engine

サービスを起動

$ sudo systemctl start docker

簡単ですね。

ユーザ定義ネットワークの作成

デフォルトで用意されているネットワークでは固定IPアドレスオプションが使えないので、
ユーザ定義ネットワークを作成します。

$ docker network create --subnet=192.168.56.0/24 user_defined_nw

前にVirtualBOX+Vagrantで環境作っていたのでその名残で192.168.56.0/24を使っていますが、ここはお好みで。
細かいオプションは

$ docker network create --help

で見てください。

docker run

ユーザ定義ネットワークの作成が完了したら、あとはdocker runするだけです。
ポイントは--net=--ip=です。

$ docker run -it --name test --net=user_defined_nw --ip=192.168.56.100 -d centos:centos6 /bin/bash

状態の確認

割り当てられたIPアドレスの確認は

$ docker network inspect user_defined_nw

もしくは

$ docker inspect -f "{{ .NetworkSettings.Networks.user_defined_nw }}" test

でてきます。

参考
https://docs.docker.com/engine/installation/linux/centos/
https://docs.docker.com/engine/userguide/networking/work-with-networks/