【问题标题】:Does 'docker run' modify image state?'docker run' 会修改图像状态吗?
【发布时间】:2015-08-19 19:43:32
【问题描述】:

我有一个使用 ubuntu 基础镜像的 Dockerfile,并使用 apt-get 和 dpkg 安装了一堆依赖项。然后它复制一些 javascript 文件并运行一个节点应用程序。节点应用产生一个子进程并执行xvfb-run selenium-standalone start

如果我使用 --no-cache 构建 docker 映像并使用 docker run -i -t <image id> 运行它,我的应用程序将立即启动并连接到 selenium 服务器。如果我使用 CTRL-C 或 docker stop <container id> 杀死容器,然后运行与上面完全相同的 docker run 命令,我的应用程序将正常启动,但无法连接到 selenium 服务器。如果我不理会它,五分钟后,它会自行正确连接。每次我运行 docker run 时,它都会以这种方式运行,直到我进行干净的映像构建。

更改节点源文件并主要从缓存中重建不会改变此行为。这个过程我已经重复了好几次了,都是一样的。

如果使用相同的图像,我无法弄清楚行为如何从一个docker run 更改为下一个。共享状态在哪里?

工作时记录:

一饮而尽
22:42:31.541 信息 - 启动独立的 Selenium 服务器
将系统属性 webdriver.chrome.driver 设置为 /usr/lib/node_modules/selenium-standalone/.selenium/chromedriver/2.16-x64-chromedriver
22:42:31.579 信息 - Java:甲骨文公司 24.79-b02
22:42:31.579 信息 - 操作系统:Linux 3.18.5-tinycore64 amd64
22:42:31.594 信息 - v2.46.0,带有核心 v2.46.0。从修订版 87c69e2 构建
22:42:31.676 信息 - 驱动程序提供程序 org.openqa.selenium.ie.InternetExplorerDriver 注册被跳过: 注册功能 Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] 与当前平台 LINUX 不匹配
22:42:31.676 信息 - 找不到驱动程序类:com.opera.core.systems.OperaDriver
22:42:31.677 信息 - 驱动程序提供程序 com.opera.core.systems.OperaDriver 未注册
[22:42:31] 使用 gulpfile /opt/app/gulpfile.js
[22:42:31] 开始“运行”...
[22:42:31] 1.29 毫秒后完成“运行”
已启动应用程序。
22:42:31.764 信息 - RemoteWebDriver 实例应连接到:http://127.0.0.1:4444/wd/hub
22:42:31.764 信息 - Selenium 服务器已启动并正在运行
硒开始
2015-08-19T22:42:32.445Z 在端口启动应用程序:8000

除了缺少 RemoteWebDriver、“Selenium 服务器已启动并正在运行”和“Selenium 已启动”之外,不工作时的日志完全相同。行。

【问题讨论】:

  • 两次运行之间是否有相同的服务器?会不会是罪魁祸首?
  • 您可以使用 --read-only 标志运行您的容器
  • 服务器应该和容器一起死吧?使用 localhost 访问,应该是容器。
  • @Thomasleveil 应用程序写入文件系统,因此它不会以只读模式运行。
  • @cava23 你有日志吗?您是否尝试使用docker logs 获取标准输出/标准错误日志。状态也可能在您的 selenium 服务器中。

标签: node.js selenium selenium-webdriver docker xvfb


【解决方案1】:

尝试移除容器而不是仅仅停止它:

docker stop <container id>
docker rm <container id>

【讨论】:

  • 似乎没有什么不同。此行为也已在另一台机器上重复。
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 2017-09-10
  • 2015-04-13
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
相关资源
最近更新 更多