Tag: dockerbuild设

docker add命令无法添加作为parameter passing给它的path

我有一个Dockerfile ,我想在jenkins maven构build之后构build和推送。 我在Dockerfile有这些行: … ARG MAIN_DIR ADD $MAIN_DIR . … 我通过MAIN_DIR参数如下: docker build -t my.gitlab.com:4567/path/to/my/project/my-image-name:my-image-tag –build-arg MAIN_DIR=Development . 但是我得到: ADD failed: stat /var/lib/docker/tmp/docker-builder832988213/Development: no such file or directory 编辑1: COPY $MAIN_DIR . 产生相同的问题。 编辑2: 当前目录实际上包含一个名为Development的目录,我完全确定整个项目中没有.dockerignore文件。

Docker构build结束,错误“命令…返回一个非零代码:100”

我正在构build一个Docker镜像, Dockerfile如下所示: FROM ubuntu:12.04 MAINTAINER Maintainer Name <my_address@goes.here> VOLUME ["/var/www"] RUN apt-get update && \ apt-get install -y \ apache2 \ php5 \ php5-cli \ libapache2-mod-php5 \ php5-gd \ php5-ldap \ php5-mysql COPY apache_default /etc/apache2/sites-available/default COPY run /usr/local/bin/run RUN chmod +x /usr/local/bin/run RUN a2enmod rewrite EXPOSE 80 CMD ["/usr/local/bin/run"] 运行文件包含以下代码: #!/bin/bash set -e PHP_ERROR_REPORTING=${PHP_ERROR_REPORTING:-"E_ALL & […]

设置Docker容器的图像构build值

假设我在Fedora上以reynierpmlogin,并且reynierpm构build一个Docker镜像。 该图像将包含一个LAMP环境。 我有一个Apache虚拟主机(VH)默认文件,如下所示: <VirtualHost *:80> #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www> AllowOverride All Require all granted </Directory> ErrorLog /dev/stdout CustomLog /dev/stdout combined </VirtualHost> 作为构build过程的一部分,该文件被复制到图像上的适当位置。 我可以从主机获取login的用户名,并dynamic地设置到这个VH? 最后我想得到以下结果: <VirtualHost *:80> ServerName reynierpm.dev ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /var/www> AllowOverride All Require all granted </Directory> ErrorLog /dev/stdout CustomLog /dev/stdout combined </VirtualHost> 我知道,我可以从bash中使用$(whoami)获取当前用户的值,但是如何在Docker构build中将其插入/设置为VH文件? 这是Dockerfile的内容: FROM ubuntu:14.04.5 MAINTAINER […]

什么是我可以用来build立一个docker文件最轻的基础图像?

我通常使用ubuntu,arch linux镜像,但是最近我发现有一个叫做coreOS的操作系统专门用于docker容器。 由于我是docker工人,所以我不确定哪一个docker文件是build立docker文件的最佳基础。 这似乎是一个愚蠢的问题,但如果我在多个容器上运行大量的微服务,那么容器应尽可能轻。

当我的图像的基础图像更新时会发生什么?

我有基于microsoft/aspnet:4.6.2图像microsoft/aspnet:4.6.2 ,当这些(我的)图像被build立时, microsoft/aspnet:4.6.2被拉下来以build立我自己的图像。 所以,在我的本地计算机上我有microsoft/aspnet:4.6.2图像。 假设基本映像得到更新,微软发现图像有问题,并决定维护标签,所以它仍然被称为microsoft/aspnet:4.6.2但它实际上是一个不同的图像,当我build立我的拥有。 所以我有两个问题: 1.每当我的图像被拉下来,它就会像我build立图像时一样获得基本图像,对吧? (这似乎很明显,但我需要检查) 2.如果我注意到(Web钩子,触发器?),有一个更新版本的microsoft/aspnet:4.6.2我可以再次运行docker build命令,并且新图像会被拉下来吗? 请记住,旧的基本映像是在我的文件系统(称为相同)。 Docker是否足够聪明,意识到我有一个旧版本的基本映像,它会下载最新版本的? 希望我明确自己

只用Dockerfile中的其他更改重build相同的Docker镜像

我使用Dockerfile构build一个docker镜像。 在构build镜像之后,我对Dockerfile做了一些基本的修改。 是否有可能重build只有其他更改相同的图像。 因为创build图像需要很长时间,所以我不想完全构build它。 提前致谢。

当使用apt-get install gcc时Dockerfile生成错误

我试图build立一个“helloworld”c程序来形象,但是当parsingRUN apt-get update & apt-get -y install gcc使用cmd sudo docker build . RUN apt-get update & apt-get -y install gcc ,发生构build错误sudo docker build . Dockerfile非常简单,如下所示: FROM ubuntu:16.04 COPY hd* ./ RUN apt-get update & apt-get -y install gcc RUN gcc ./hd.c -o hellodocker ENTRYPOINT ./hellodocker 工人目录如下: $ ls -al total 32 drwxr-xr-x 2 root root […]

如何loggingdocker生成安装包的错误

当我通过dockerfile使用docker docker build -t test/app1 . docker镜像docker build -t test/app1 . docker工人build立成功,但我注意到有一些错误,因为它通过构build安装包。 我如何跟踪/logging在Linux上的这些软件包安装错误? 谢谢。

如何在构buildDockerfile时使用Docker机器的环境variables

当创build一个新的镜像时,我的Dockerfile需要调用npm install。 这也需要在代理之后工作。 在这一点上,以下Dockerfile代码工作: # Set proxy server ENV http_proxy http://myproxy.example ENV https_proxy http://myproxy.example # run NPM install RUN npm install –production 然而,我想我可以将ENVvariables设置为与我设置的泊坞窗机器相同 docker-machine create \ -d virtualbox \ –engine-env HTTP_PROXY=http://myproxy.example \ –engine-env HTTPS_PROXY=http://myproxy.example \ dock 即我想npm安装命令使用这些环境variables。 这将确保该Dockerfile的图像可以在任何具有可用代理设置的环境中构build。 我已经使用该命令将创build的机器设置为env docker-machine env –no-proxy dock

如何使用jenkins构buildDocker镜像时如何处理NPE?

我正在尝试使用jenkins插件docker docker-build-step来构build一个docker镜像。 我只是尝试创build一个图像的标准设置: 但是,当我尝试构build我得到一个NullPointerException。 起初我以为这个问题跟这个问题是一样的,但是后来我仔细看了一下,发现不是这样(我虽然不太明白这个问题的答案,但是我还没有设法排除这个问题,一个相关的问题) First time build. Skipping changelog. ERROR: Build step failed with exception java.lang.NullPointerException at com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl.init(DockerCmdExecFactoryImpl.java:105) at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:64) at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:63) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.createDockerClient(DockerBuilder.java:132) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.getDockerClient(DockerBuilder.java:204) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:68) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782) at hudson.model.Build$BuildExecution.build(Build.java:205) at hudson.model.Build$BuildExecution.doRun(Build.java:162) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) at hudson.model.Run.execute(Run.java:1738) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) Build step 'Execute Docker command' marked build as […]