如何确保docker仅用于我的任务

时间:2017-09-04 03:33:01

标签: docker protractor docker-compose dockerfile docker-machine

我使用量角器编写了自动化程序。

我想通过jenkins运行它。

我的shell命令:

docker pull selenium/hub:latest
docker pull selenium/node-chrome:latest
docker rm -f selenium-hub && echo "container selenium-hub removed" || echo "container selenium-hub does not exist"
docker run -d -p 4444:4444 --name selenium-hub selenium/hub:latest
docker run -d --link selenium-hub:hub selenium/node-chrome:latest
protractor conf.js

一切都很完美。

我的问题是:我能完全确定只有我的代码在docker上运行而且所有其他组件(比如我在同一台服务器上运行的角网站)都不会使用docker,即使用docker时我应该采取什么预防措施我的服务器有100多个不同的应用程序在运行,我希望那些应用程序不应该有任何副作用。就像某个应用程序在nodejs v3上运行而我的docker有nodejs v5一样,那么使用nodejs v3的应用程序继续只在nodejs v3上运行。

1 个答案:

答案 0 :(得分:0)

我假设你担心其他一些应用程序正在使用硒?这在技术上是可行的,因为当您启动selenium hub映像时,参数-p 4444:4444将端口4444绑定到您的localhost。

要确保所有内容都是自包含的,您需要使用参数-p 4444并在docker容器中运行量角器测试。

这样的Dockerfile将用于您的测试(未经测试)

FROM node:alpine

COPY your/source/directory /opt/

WORKDIR /opt/

RUN npm install -g protractor

CMD protractor conf.js

注意:您的量角器配置必须引用selenium hub容器名称(即selenium-hub)而不是 localhost