✏️
Docker+Docker Composeでipアドレスを固定
はじめに
dockerやdocker composeを使うときは基本的にサービス名などを使ってアクセスすると思いますが、ふと固定IPを設定したくなったので調べたときの備忘録です。
設定
docker composeの場合はyaml内のネットワーク(ipam)設定とサービスのネットワークに設定すればよいそうです。
ネットワーク(ipam)の設定
下記の例は、docker環境内にサブネット192.168.0.0/24
でmy-network
を作成するものです。
サブネットなどを設定したい場合は、ipam
で指定します。
networks:
my-network:
ipam:
driver: default
config:
- subnet: 192.168.0.0/24
サービスのネットワーク設定
compose環境内のコンテナで上記のネットワークを利用するため、networksセクションで下記のように記載します。
下記例では一例として`192.168.0.10を使うようにしています。
networks:
my-network:
ipv4_address: 192.168.0.10
yamlの例
ネットワーク(ipam)とサービスのネットワークを設定したdocker-compose.yamlの例は下記のようになります。
ansible用とweb用のコンテナ2つを用意してそれぞれ192.168.0.10
と192.168.0.11
を割り当てるようにしています。
services:
ansible:
...
networks:
my-network:
ipv4_address: 192.168.0.10
...
web:
restart: always
networks:
my-network:
ipv4_address: 192.168.0.11
...
networks:
my-network:
ipam:
driver: default
config:
- subnet: 192.168.0.0/24
Discussion