コンテナでサービスのIPを設定するには?基本ネットワークの固定IP

コンテナでサービスのIPを設定するには?基本ネットワークの固定IP

docker inspect正常に呼び出された出力からコンテナ化されたElasticsearchのIPアドレスを使用してElastic Search別のコンテナ内で実行されるJupyterノートブックで実行される関数。両方によって作成されましたdocker compose up

しかし、私が知っている限りIPアドレスの変更新しいランタイム(例:docker compose up / down)。

iPyの設定は可能ですか?たとえば、ビルドコンテキストで使用されるelasticsearchにdocker-compose.yml何かを追加した場合Dockerfile

docker inspect *composed-container-name-here*

"NetworkSettings": {
      "Bridge": "",
      ...
      "Ports": {
          "9200/tcp": null,
          "9300/tcp": null
      },
      ...
      "IPAddress": "",
      "Networks": {
          "*composed-container-name-here*_default": {
              "IPAMConfig": null,
              ...
              "Gateway": "172.X.X.1",
              "IPAddress": "172.X.X.3",
          }

頑張ったサブネットにあるがdocker-compose.yml返されたError response from daemon: user specified IP address is supported only when connecting to networks with user configured subnets

答え1

解決策:

services:
  a-service-here:
    ...
    networks:
      default:
        ipv4_address: x.x.x.3 # desired-ip-here

networks:
  default:
    driver: bridge
    ipam:
      config:
        - subnet: x.x.x.0/16 # includes desired-ip

関連情報