1. ホーム
  2. docker

[解決済み] docker compose でホストネットワークを使用するには?

2022-03-02 03:11:54

質問

docker composeをホストネットワークで使いたいのですが、どうすればいいですか?

私はローカルのREST APIにアクセスするドッカーコンテナを持っています。 通常、私は

docker run --net=host -p 18080:8080 -t -i containera

で実行されるホスト REST api にアクセスすることができます。 http://127.0.0.1:8080 . コンテナをスケールアップしたいので containera コンテナをスケールさせるためのdocker composeが見つかりました。しかし、Docker Composeのファイルは ドキュメント は動作しません。ドッカーコンテナはREST APIに問い合わせをしない。

以下のコンポジットファイルを試しましたが、プロパティが

version: "3"
services:
  web:
    image: conatinera:latest
    network_mode: "host"
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: "0.5"
          memory: 4G 
      restart_policy:
        condition: on-failure
    ports:
      - "18080:8080"

が、プロパティ network_mode は無視され、許可されません。

Ignoring unsupported options: network_mode

解決方法は?

docker-compose v3 で同等の設定は network_mode キーになります。 https://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode

を設定する必要があります。 network_mode から "host" をあなたの docker-compose.yml .

docker swarm を使用する場合は codestationの回答 .