LoginSignup
5
5

More than 3 years have passed since last update.

docker-composeでホストのネットワークの好きなIPを指定して立ち上げる

Last updated at Posted at 2020-10-11

やりたいこと

docker-compose up ホストのネットワークの好きなIPアドレスを指定して立ち上げる

なんの意味があるの?

基本は不要でnginx-proxyやtreafikなどのサービスディスカバリを使うのが正しい方法だと思う。
とはいえ、それじゃできないまれな↓みたいなユースケースもあると思うので備忘録として残しておく。

  • 社内インフラなどIPを固定にしたいとき
  • IPをずらして、ポートのブッキングを回避したいとき
    • 8080,8081,8082...みたく、どのポートが空いているのかバトルにならないように

やりかた

macvlan のnetwork driverを使う。

docker-compose.yml
version: "3.8"

services:
  web01:
    image: nginx
    networks:
      macvlan:
        ipv4_address: 192.168.1.10
    # ports
    #  - "80:80" dockerのhostネットワークみたく、指定したIPでポートが全開放なので基本は不要
    ...etc

  web01:
    image: nginx
    networks:
      macvlan:
        ipv4_address: 192.168.1.20
    # ports
    #  - "80:80" IPが違うのでポートがブッキングしない
    ...etc

...etc

networks:
  macvlan:
    driver: macvlan
    driver_opts:
      parent: eno1 # 端末のネットワーク・インターフェースを指定する
    ipam:
      config:
        - subnet: 192.168.1.0/24
          gateway: 192.168.1.1
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5