如何确保docker工人只用于我的任务

我有一个使用量angular器写的自动化。

我想通过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上和所有其他组件(如我有相同的服务器上运行angular网站)不会使用docker,即我应该采取什么预防措施,如果我的服务器100个不同的应用程序运行,我希望这些应用程序不应该有任何副作用。 就像一些应用程序在nodejs v3上运行,而我的docker有nodejs v5,那么使用nodejs v3的应用程序只能继续在nodejs v3上运行。

我假设你担心一些其他应用程序正在使用selenium? 这在技术上是可能的,因为当你启动selenium中心映像的参数-p 4444:4444将端口4444绑定到你的本地主机。

为了确保一切都是自包含的,你将需要使用参数-p 4444并且在docker容器中运行量angular器testing。

像这样的Dockerfile将为您的testing(未经testing)

 FROM node:alpine COPY your/source/directory /opt/ WORKDIR /opt/ RUN npm install -g protractor CMD protractor conf.js 

:您的量angular器configuration将不得不引用selenium毂集装箱名称(即selenium毂)本地主机