2016-09-02 5 views
2

Я использую Docker для Mac (версия 1.12.0-a (сборка: 11213)).Docker для 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 контейнер может увидеть Монго и может вставить все данные (Я проверил Монго и подтвердил через docker logs).

Но выглядит так: webnicer/protractor-headless не отображается localhost:8080, где приложение развернуто.

Похоже, что это связано с опцией --net=host, но я не уверен. У кого-нибудь есть идея или предложения?

ответ

0

На странице изображения:

Почему --net = хозяин?

Эти параметры требуются только в том случае, если докционированный Транспортер запущен против локального хоста на хосте. Представьте себе этот сценарий: вы запускаете тестовый сервер http на вашем локальном компьютере, скажем, на порт 8000. Вы вводите свой браузер http://localhost:8000, и все идет гладко. Затем вы хотите запустить докционированный Транспортер против того же localhost: 8000. Если вы не используете --net = host, контейнер получит мостовой интерфейс и его собственный loopback, и поэтому localhost в пределах контейнер будет ссылаться на сам контейнер. Использование --net = host вы позволяют контейнеру совместно использовать сетевой стек хоста и правильно ссылаться на на хост, когда Protractor запускается с localhost.

+0

Да. Но я думаю, что этот вариант нестабилен при использовании Docker для Mac. –

Смежные вопросы