Tag: dockerbuild设

无法为Docker开源开发制作开发环境图像

我正在尝试为Docker开源开发制作一个开发环境映像,但是我正面临以下错误。 我已经从他们的git页面克隆了存储库并在centos上运行它。 我在一家公司工作,并在Dockerfile中将代理设置为环境variables。 这是我得到的错误 – Ign http://deb.debian.org jessie InRelease Ign http://ppa.launchpad.net trusty InRelease Ign http://deb.debian.org jessie-updates InRelease Err http://deb.debian.org jessie Release.gpg Cannot initiate the connection to 8080:80 (0.0.31.144). – connect (22: Invalid argument) Err http://ppa.launchpad.net trusty Release.gpg Cannot initiate the connection to 8080:80 (0.0.31.144). – connect (22: Invalid argument) Ign http://security.debian.org jessie/updates InRelease Err http://deb.debian.org […]

在Docker容器中构build软件/如何pipe理?

假设我想将最新版本的AwesomeTool集成到Docker容器中(比如说运行CentOS),在这个容器中没有任何RPM可用(或者rpm不是最新的,我想运行最新的版本)。 所以我下载awesometool.tar.gz,解开它,configuration&& make && make install。 然后我意识到它已经在所有不同的位置,库,二进制文件,符号链接中安装了东西…我需要在“docker build”期间将所有东西放到我的Docker镜像中。 我是不是该: 1)在Docker镜像构build过程中进行构build,预先安装所有必需的工具(gcc,make等),或者在安装后将其移除。 2)在图像之外构build软件,然后find一种方法将所有安装构件复制或打包到图像中(基本上,您在制作RPM时将执行的操作)。 使(2)更容易的一种方法是将其安装到PREFIX中,并在Docker构build过程中将其复制到图像中,但需要将其复制到匹配位置,否则共享对象可能无法正确链接。 (1)的一个优点是构build被封装在Dockerfile中,但是除非完成特定的清理,否则可能会留下所有这些构build工件。 (2)的优点是docker图像更清洁,但需要外部构build步骤,并可能需要复杂的工作来追踪所有需要复制的工件….当新版本的AwesomeTool发布时可能会改变,因此需要保持。 其他人如何解决这个问题?

Docker构build:缺less依赖

当我的Docker构build到达Dockerfile的这个部分时: ARG cabal=1.22.9.0 RUN curl -L http://hackage.haskell.org/package/cabal-install-${cabal}/cabal-install-${cabal}.tar.gz | tar -xzf- && \ cd cabal-install-${cabal} && \ EXTRA_CONFIGURE_OPTS= ./bootstrap.sh –global 它最终以这个错误结束。 Downloading zlib-0.6.1.1… % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 139k 0 139k 0 0 293k 0 –:–:– –:–:– –:–:– 293k [1 of 1] […]

docker添加“至less需要一个参数”的错误

我有一个文件夹,其中包含一个应用程序的所有必要的组件,我想要一个容器。 到目前为止,我已经完成了一切设置,在ADD标题下的Dockerfile中的/home/user/Documents/App目录。 然后当我docker build . 在App目录中,我得到这个 ADD / home / user / Documents / App ADD至less需要一个参数 我意识到这可能是一个简单的修复,但我是新来的,所以任何帮助将不胜感激。 谢谢 FROM alpine ADD </home/user/Documents/App> </home/user/Documents/DockerApp> WORKDIR /code RUN pip install -r requirements.txt EXPPOSE 8080 CMD ["python", "app.py"]

在Win7上的docker build命令错误137

执行以下命令: docker build -m 3g –memory-swap -1 -f MyDockerfile . 我得到这个: Solving package specifications: …..Killed The command '/bin/sh -c conda update -y –all && conda install -y -c menpo m enpo && conda install -y -c menpo menpofit && conda install -y -c menpo menpodetect && conda install -y -c menpo dlib && conda install […]

如何将docker-machine连接到我的VMs docker-daemon端口?

鉴于这两个系统: 虚拟机#1运行一个jenkins容器,它有一个安装/工作的docker-machine VM#2运行一个简单的Ubuntu与docker-engine安装 两台虚拟机都通过网桥连接。 我可以从jenkins容器中找出VM#2上的Docker-Host。 现在我想通过使用VM#2 Docker-Host来告诉我的jenkins容器中的docker docker-machine来构build一个图像(位于jenkins工作区内)。 所有关于这个文件只显示我像virtualbox或aws驱动程序,但我想连接到我自己创build的Docker主机。 我试过的 : 在我的Jenkins容器中,我创build了两个Environent Variables: $ export DOCKER_HOST=tcp://192.168.0.102:2375 $ export DOCKER_MACHINE_NAME=dev curl 192.168.0.102:2375产生{"message":"page not found"} 运行docker-machine env dev给我Host does not exist: "dev" PS : 我不想将docker docker-engine安装到我的jenkins映像中。 我想要使​​用瘦客户端docker-machine将映像构build委托给VM#2,仅此而已

使用Docker镜像/标签添加自定义清单文件

就像我们可以在Jar文件中添加自己的自定义清单文件一样。 有没有一种方法可以在Docker图片/标签中添加自定义清单。 就像如果我想要添加在发布中修复的所有JIRA ID,我可以将它们添加到该标记的清单文件中 谢谢,阿莫尔

用python应用程序使用PyQt4库构builddocker图像

我正在试图dockerise一个小型的python应用程序。 python代码使用PyQt4库。 该应用程序有一些testing单位,我运行时,我build立的形象。 像下面这样: RUN [ "/bin/bash", "-c", "source activate conda_environment && python -m unittest tests/tests_html_consistency.py" ] python代码中的PyQt4库需要一个X服务器来完成它的任务,但是docker没有,所以,不幸的是,当我生成图像时,我得到以下错误: python -m unittest: cannot connect to X server 在其他类似的堆栈问题上,我发现可能的解决scheme是简单地将X服务器的套接字作为Docker卷装入,并告诉Docker使用它。 docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY TheImage 但是如何在图像构build时做到这一点? 上述命令仅在图像已经build立时才起作用,在“docker运行”时间。 而且,如果主机是一个aws实例(因此没有x服务器)会工作吗? 我不这么认为

如何创build一个大于20GB的Windows Docker镜像?

我一直在试图build立一个大型的窗口docker图像几天了,但我找不到解决这个问题的任何地方的答案。 我并没有试图build立一个生产容器解决scheme。 我只是试图创build我的服务的原型,但在Windows容器中运行。 问题是我的服务依赖于大约40GB的数据,而且现在这些数据是从磁盘读取的。 显然,这不是一个好的方法,在我们可以将这个服务放在生产容器中之前,必须对它进行重构。 我只是想要一个快速和肮脏的解决scheme,build立一个图像与容器中的所有这些数据存储在磁盘上,所以我可以了解更多关于如何在一个容器内运行的服务。 我的图像结构将最终看起来像这样: microsoft / windowsservercore – > mine / data_image – > mine / binary_image data.dockerfile: FROM microsoft/windowsservercore WORKDIR /data/ COPY data . 构build命令: docker build –compress -t mine/data_image -f data.dockerfile . 一段时间后,构build失败,出现以下消息:复制文件失败:复制目录失败:write \?\ Volume {8cf8bb9b-c1dd-46a3-b353-3c2198754bf8} \ data:磁盘空间不足。 我知道这与windowsfilter磁盘驱动程序有关,但没有关于此驱动程序的在线信息。 这就像它不存在。 任何有关这个问题的见解都是值得欢迎的

docker复制似乎越野车

所以我试图做一个简单的docker容器在容器中运行sabnzbd 。 我做一个git克隆,然后将sabnzbd文件夹移动到容器中。 注意:当我看着sabnzbd ,所有的文件都看起来不错,所以它不是一个混帐问题或分支等,我很高兴到目前为止。 当我然后运行容器,我加倍检查,但一半的文件丢失。 例如,我正在寻找确保cheerypy被复制,但它不是,是的,我可以证实,我再次检查在sabnzbd文件夹中。 所以我有一个Dockerfile和sabnzbd文件夹。 我用这个命令build立了这个文件夹: sudo docker build –no-cache=true -t sabnzbd -f Dockerfile . 简而言之,唯一有效的是Copy . / Copy . / 我试过COPY sabnzbd/* sabnzbd和其他变化。 我原本以为它是从其他地方获取文件,但删除了任何sabnzbd ,但据我了解,它只看文件相对于docker构build文件。 我只是觉得这是如此的怪异,想要得到一些想法,即使我修好了。 我没有删除所有的图像,并从头开始,但结果是一样的。 我确实尝试了与构buildno cache选项,但仍然是相同的。 思考?