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
何がおかしいのですか?
それらの文書は古くなっています。 URLの1.6はDocker 1.6用であり、Compose 1.6用ではないと思います。正しい構文をチェックしてください。 https://docs.docker.com/compose/compose-file/#net 。 v2 YAML形式を使用するときはnetwork_mode
を探しています。
印刷するだけ
network_mode: "Host"
追加するだけで試すことができます
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]"
多分私は非常に遅く答えています。しかし、私は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