web-dev-qa-db-ja.com

Dockerが作成し、net:hostでコンテナーを実行します

Docker-composeを使って "Host"ネットに3つのサービスを生成したい。これが私の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'

私は窓にboot2dockerを使っています。

DockerとDockerで構成されたバージョン

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

docker run --net = "Host"を使用してすべてのサービスを手動で実行すると、すべて問題なく動作します。

netコマンドはdocker-composeでサポートされています

net

ネットワークモードdocker client --netパラメーターと同じ値を使用してください。

ネット:「橋」

net: "なし"

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

net: "ホスト"

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

何がおかしいのですか?

68

それらの文書は古くなっています。 URLの1.6はDocker 1.6用であり、Compose 1.6用ではないと思います。正しい構文をチェックしてください。 https://docs.docker.com/compose/compose-file/#net 。 v2 YAML形式を使用するときはnetwork_modeを探しています。

78
Andy Shinn

印刷するだけ

network_mode: "Host"

51
Andrey

追加するだけで試すことができます

network_mode: "Host"

例:

version: '2'
services:
  feedx:
    build: web
    ports:
    - "127.0.0.1:8000:8000"
    network_mode: "Host"

利用可能なリストオプション

network_mode: "bridge"
network_mode: "Host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

https://docs.docker.com/compose/compose-file/#network_mode

1
Sarath Ak

多分私は非常に遅く答えています。しかし、私はdocker composeでホストネットワークを設定するのにも問題がありました。それから私は徹底的にドキュメンテーションを読み、そして変更を加え、そしてそれはうまくいった。この設定はdocker-composeのバージョン "3.7"用です。ここでeinwohner_netとelk_net_netは私のアプリケーションに必要な私のユーザー定義ネットワークです。私はいくつかのシステムメトリクスを得るためにHost netを使っています。

ドキュメントへのリンク https://docs.docker.com/compose/compose-file/#Host-or-none

version: '3.7'
services:
  app:
    image: ramansharma/einwohnertomcat:v0.0.1
    deploy:
      replicas: 1
      ports:
       - '8080:8080'
    volumes:
     - type: bind
       source: /proc
       target: /hostfs/proc
       read_only: true
     - type: bind
       source: /sys/fs/cgroup
       target: /hostfs/sys/fs/cgroup
       read_only: true
     - type: bind
       source: /
       target: /hostfs
       read_only: true
    networks:
     hostnet: {}
    networks:
     - einwohner_net
     - elk_elk_net
networks:
 einwohner_net:
 elk_elk_net:
   external: true
 hostnet:
   external: true
   name: Host
0
Raman Sharma