dockerコンテナのIPアドレスを固定しようとしたらエラーになる

2024/03/26に公開

環境

  • OS: Windows10 home
  • Docker: Docker Desktop for Windows

状況

docker composeを使って作成したコンテナのIPアドレスを固定しようとしたところ、
"Error response from daemon: Address already in use"となった。設定は以下。

  • ネットワーク定義
docker-compose.yml
networks:
  db_network:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.25.1.0/24
  • コンテナのIPアドレス指定
docker-compose.yml
    (省略)
  networks:
      db_network:
        ipv4_address: 172.25.1.1

原因・対処

ネットワークの定義において指定しない場合、172.25.1.1は作成したbridgeのIPアドレスとして使用されるため(?)、コンテナのIPアドレスとして振ることができないことによるエラー。以下のように修正し解消。

  • コンテナのIPアドレス指定
docker-compose.yml
    (省略)
  networks:
      db_network:
        ipv4_address: 172.25.1.100

Discussion