2016-09-02 7 views
2

私はDocker for Macを使用しています(バージョン1.12.0-a(ビルド:11213))。Docker for Macと--hostオプション

私は、角度計テストを実行するためにimageを使用しようとしています。私は、このコマンドを使用してテストを実行している : docker run -it --privileged --rm --net=host -v /dev/shm:/dev/shm -v $(pwd):/protractor webnicer/protractor-headless src/test/e2e/config/docker-config.js

これは私の設定ファイルである:

exports.config = { 

    onPrepare: function() { 
    global.nodeModulesPath = '../../main/webapp/node_modules/'; 
    global.mongoConnection = '127.0.0.1:27017'; 
    global.dbName = 'DB_name'; 

    var width = 1280; 
    var height = 768; 
    browser.driver.manage().window().setSize(width, height); 
    }, 

    framework: 'jasmine2', 

    baseUrl: 'http://127.0.0.1:8080/my-app/', 

    specs: ['../tests/**/*.spec.js'], 

    restartBrowserBetweenTests: false, 

    jasmineNodeOpts: { 
    showColors: true, 
    defaultTimeoutInterval: 30000, 
    isVerbose: true, 
    includeStackTrace: true 
    } 
}; 

(モンゴがコンテナ内で実行されているとwebnicer/protractor-headlessコンテナはモンゴを見ることができますし、すべてのデータを挿入することができます私はMongoをチェックし、docker logsで確認しました)。

webnicer/protractor-headlessのように見えますが、アプリが展開されているlocalhost:8080は表示されません。

これは--net=hostオプションと関連していますが、わかりません。誰でもアイデアや提案がありますか?

答えて

0

画像ページから:

なぜ--net =ホスト?

このオプションは、ドッキングされた分度器がホストのlocalhostに対して に対して実行されている場合にのみ必要です。このシナリオを想像してみましょう:ローカルマシンでhttp テストサーバーを実行します。ポート8000​​で言いましょう。 ブラウザにhttp://localhost:8000と入力するとすべてがスムーズに進みます。その後、 同じ のlocalhost:8000に対してドッキングされた分度器を実行します。 --net = hostを使用しないと、コンテナはブリッジされたインタフェースとそれ自身のループバックを と受け取るので、 のローカルホストはコンテナ自体を参照します。 - net = hostを使用すると コンテナがホストのネットワークスタックを共有できるようになり、protractorがlocalhostに対して実行されているときに をホストに適切に参照します。

+0

はい。しかし、私はこのオプションがDocker for Macを使用しているときは安定していないと思います。 –

関連する問題