gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 20:12:19 25 4
gpt4 key购买 nike

我有一个使用 Protractor 编写的自动化程序。

我想通过 Jenkins 运行它。

我的外壳命令:

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,即如果我的服务器有使用 docker 时我应该采取哪些预防措施100 多个不同的应用程序正在运行,我希望这些应用程序不应该有任何副作用。就像如果某个应用程序在 nodejs v3 上运行并且我的 docker 有 nodejs v5,那么使用 nodejs v3 的应用程序将继续仅在 nodejs v3 上运行。

最佳答案

我假设您担心其他一些应用程序正在使用 Selenium ?这在技术上是可行的,因为当您启动 selenium hub 镜像时,参数 -p 4444:4444将端口 4444 绑定(bind)到您的本地主机。

为了确保一切都是自包含的,您需要使用参数 -p 4444并在 docker 容器中运行 Protractor 测试。

一个 Dockerfile像这样对您的测试有用(未经测试)

FROM node:alpine

COPY your/source/directory /opt/

WORKDIR /opt/

RUN npm install -g protractor

CMD protractor conf.js

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

关于docker - 如何确保 docker 仅用于我的任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46029931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com