2016-02-26 6 views
5

コンテナにリンクする際にホストネットワークを使用するにはどうすればよいですか?私のドッキングウィンドウ・コンで

laravel: 
    image: trackware 
    links: 
     - postgis:postgis 
    ports: 
     - "80:80" 
     - "3306:3306" 
     - "443:443" 
     - "220:22" 
     - "8000:8000" 
    net: "host" 
    restart: always 
    volumes: 
     - C:/H/repositories/pubnub:/share 
    container_name: laravel 

postgis: 
    image: mdillon/postgis 
    env_file: .postgis_env 
    ports: 
     - "9090:9000" 
     - "54320:5432" 
    container_name: postgis 

私はdocker-compose up -dを実行する場合、私はこのエラーを取得する:PostGISのコンテナにリンクしながら、

Conflicting options: host type networking can't be used with links. This would result in undefined behavior 

だから、どのように私はnet: "host"を使うのでしょうか? laravelコンテナはpubnubクライアントを実行する必要があります。これはリアルタイムメッセージ処理のための高性能ネットワークを必要とし、dbにアクセスするにはpostgisコンテナにリンクする必要があります。

だから、アドバイスはありますか?私はドッカーを使用しています。1.10.2

+0

PubNubに関連するものは何ですか?そこにあるように見えませんが、私は尋ねると思った。 –

+1

いいえ、ここにPubNubに関連するものはありません – simo

+0

一般的なドッカー作成の質問のように見えますので、この質問からlaravelタグを削除したい場合があります – BSchlinker

答えて

5

postgisポートをホストに公開するので、リンクをスキップしてlocalhost:9000に接続できます。私はlaravelアプリケーションがホストネットワークに常駐しており、それらのポートを共有するので、これがうまくいくと思います。

+0

127.0.0.1のPostgisコンテナにdjangoコンテナを接続しようとしましたが、しかし、それはlocalhostに対してのみ有効でした。 –

0

私は理由はありませんが...「ホスト」ドライバとポートマッピングを使用しないでください。少なくとも、期待される結果は得られません。このような場合、 "220:22"はホストマシンに22ポートのマップを取得します。

"Net"は私が知る限り旧式です。代わりに "network_mode"を使用してください。 また、docker-composeを最新バージョンに更新することをお勧めします。現在は1.6.2です。以前のバージョンにはネットワークに問題がありました。

"bridge"ドライバを使用できますか?あなたの場合、私は解決できない問題を見ることはできません。

+0

Windowsでドッカーの作成をどのように更新できますか?ドッカー作成ファイルをバージョン2に変換する方法は? – simo

+0

申し訳ありませんが、Windowsについてはわかりません。 [toolbox](https://www.docker.com/products/docker-toolbox)を実行して、[ドッカーの作成]チェックボックスをオンにします。 作成ファイルの変換については、バージョンとサービスセクションを追加するだけです。ここでそれについて[リンク](https://docs.docker.com/compose/compose-file/) – SLY

関連する問題