1. ホーム
  2. docker

[解決済み] Docker compose、net:hostでコンテナを実行する。

2022-07-08 11:09:16

質問

docker-composeを使用して、3つのサービスをquot;host"netで起動させたいと考えています。以下は私のdocker-compose.ymlファイルです。

version: '2'
services:
  mysql:
    image: mysql
    net: "host"
  nginx:
    image: nginx
    net: "host"
  app:
    image: tomcat
    net: "host"

以下のようなエラーが出ました。

$ docker-compose up
[31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s):
Unsupported config option for services.app: 'net'
Unsupported config option for services.mysql: 'net'
Unsupported config option for services.nginx: 'net'

windowsでboot2dockerを使っています。

Docker、およびDocker-composeのバージョンです。

$ docker -v
Docker version 1.10.2, build c3959b1
$ docker-compose -version
docker-compose version 1.6.0, build cdb920a

もし、すべてのサービスを手動で docker run --net = "host" を使用してすべてのサービスを手動で実行すると、すべて正常に動作します。

ドキュメントでは、私は ネット コマンドは でサポートされています。 :

ネット

ネットワーキング・モードです。docker client --netパラメータと同じ値を使用します。

net: "bridge"です。

net: "なし"

net: "コンテナ:[名前またはID]"

net: "ホスト"

https://docs.docker.com/v1.6/compose/yml/#net

私は何を間違えているのでしょうか?

どうすればよいのでしょうか?

これらのドキュメントは古いものです。URLの1.6というのはCompose 1.6ではなくDocker 1.6のことだと思います。正しい構文はこちらで確認してください。 https://docs.docker.com/compose/compose-file/compose-file-v3/#network_mode . あなたが探しているのは network_mode を探します。