我是否需要在目标机器上构建docker镜像

时间:2014-11-11 17:47:39

标签: docker

当我在我的本地ubuntu环境中构建并运行我的图像时,它按预期工作。

之后我将图像推送到docker repo。

当我在debian wheezy上的目标生产机器上拉图像时,它无法正常工作。

只有在我在目标机器上构建图像后才开始工作。

为什么会这样?我假设docker正好针对这个问题。

规格:

本地

Linux mans 3.13.0-39-generic #66-Ubuntu SMP Tue Oct 28 13:30:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 4e9bbfa
OS/Arch (client): linux/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.3
Git commit (server): 4e9bbfa

生产

Linux ci 3.16-0.bpo.3-amd64 #1 SMP Debian 3.16.5-1~bpo70+1 (2014-11-02) x86_64 GNU/Linux

Client version: 1.3.1
Client API version: 1.15
Go version (client): go1.3.3
Git commit (client): 4e9bbfa
OS/Arch (client): linux/amd64
Server version: 1.3.1
Server API version: 1.15
Go version (server): go1.3.3
Gitcommit (server): 4e9bbfa

修改

在ubuntu上构建的图片: https://registry.hub.docker.com/u/wormhit/docker-selenium-chrome/

运行时:

Starting virtual X frame buffer: Xvfb.
Starting Google Chrome ...
19:25:43.129 INFO - Launching a standalone server
19:25:43.483 INFO - Java: Oracle Corporation 24.65-b04
19:25:43.484 INFO - OS: Linux 3.13.0-39-generic amd64
19:25:43.613 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
19:25:45.085 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX
19:25:46.523 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
19:25:46.525 INFO - Version Jetty/5.1.x
19:25:46.526 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
19:25:46.527 INFO - Started HttpContext[/selenium-server,/selenium-server]
19:25:46.528 INFO - Started HttpContext[/,/]
19:25:46.683 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@53058579
19:25:46.684 INFO - Started HttpContext[/wd,/wd]
19:25:46.690 INFO - Started SocketListener on 0.0.0.0:4444
19:25:46.690 INFO - Started org.openqa.jetty.jetty.Server@228690e3

基于wheezy建立的图像: https://registry.hub.docker.com/u/wormhit/msb-docker-selenium-chrome/

运行时:

Starting virtual X frame buffer: Xvfb.
Starting Google Chrome ...
19:35:05.405 INFO - Launching a standalone server
19:35:05.460 INFO - Java: Oracle Corporation 24.65-b04
19:35:05.461 INFO - OS: Linux 3.16-0.bpo.3-amd64 amd64
19:35:05.489 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf
19:35:05.597 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX
19:35:05.688 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
19:35:05.690 INFO - Version Jetty/5.1.x
19:35:05.691 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
19:35:05.692 INFO - Started HttpContext[/selenium-server,/selenium-server]
19:35:05.692 INFO - Started HttpContext[/,/]

1 个答案:

答案 0 :(得分:0)

问题已在评论中澄清:

  

我想知道这是否是您在日常工作中遇到的问题。

     

最重要的是我应该在目标机器上拉图像并运行它,还是我需要克隆我的仓库并构建它?

  • 不,这不是使用Docker时遇到的典型情况。 Docker中负责此操作的任何行为都可能被视为错误。
  • 是的,您应该能够在目标计算机上提取图像并直接运行它。