标签: dockerfile

为什么不建议在DOCKERFILE中使用ARG来传递秘密?

http://docs.docker.com/engine/reference/builder/#arg中,它建议秘密不通过ARGS传递.

注意:建议不要使用构建时变量来传递github密钥,用户凭据等秘密.

什么时候秘密通过构建时变量传递到危险之中?

credentials docker dockerfile

28
推荐指数
3
解决办法
2万
查看次数

28
推荐指数
3
解决办法
6643
查看次数

当docker run命令中提到--net = host时,Docker容器不会公开端口

我在CentOS docker主机上有一个CentOS docker容器.当我使用此命令运行docker镜像时docker run -d --net=host -p 8777:8777 ceilometer:1.x,docker容器获取主机的IP,但没有为其分配端口.

如果我在没有"--net = host"的情况下运行相同的命令,则docker会docker run -d -p 8777:8777 ceilometer:1.x公开端口但使用不同的IP.docker版本是1.10.1.我希望docker容器与暴露端口的主机具有相同的IP.我也在Dockerfile指令中提到EXPOSE 8777但在docker run命令中提到"--net = host"时没有用.

ip docker dockerfile docker-build

28
推荐指数
3
解决办法
2万
查看次数

如何从Dockerfile将文件夹复制到docker镜像?

我在Dockerfile中尝试了以下命令:COPY * /并且对结果感到非常惊讶.似乎天真的docker代码遍历glob中的目录,然后将每个文件转储到目标目录中,同时忽略我的目录结构.

至少这就是我理解这张票的方式,它肯定对应于我得到的结果.

我想这种行为仍然存在的唯一原因必须是应该采取其他一些方法.但对于一只脑力很小的熊来说,了解如何,有谁知道呢?

docker dockerfile

28
推荐指数
6
解决办法
7万
查看次数

Maven docker缓存依赖项

我正在尝试使用docker自动化maven构建.我想要构建的项目花了将近20分钟来下载所有依赖项,所以我尝试构建一个可以缓存这些依赖项的docker镜像,但它似乎并没有保存它.我的Dockerfile是

FROM maven:alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD pom.xml /usr/src/app
RUN mvn dependency:go-offline
Run Code Online (Sandbox Code Playgroud)

图像构建,它确实下载了所有内容.但是,生成的图像与基本maven:alpine图像的大小相同,因此它似乎没有缓存图像中的依赖项.当我尝试使用图像时,mvn compile它会经历整整20分钟的重新下载所有内容.

是否可以构建一个缓存我的依赖项的maven图像,这样每次我使用图像执行构建时都不必下载它们?

我正在运行以下命令:

docker build -t my-maven .

docker run -it --rm --name my-maven-project -v "$PWD":/usr/src/mymaven -w /usr/src/mymaven my-maven mvn compile
Run Code Online (Sandbox Code Playgroud)

我的理解是,RUN在docker构建过程中的任何内容都会成为生成的图像的一部分.

java maven docker dockerfile

28
推荐指数
7
解决办法
2万
查看次数

"无法找到jpeg的头文件或库文件"在Alpine Linux上安装Pillow

我正在尝试在基于python:alpine的Docker容器中运行Python的Scrapy .它以前工作过,但现在我想使用Scrapy的Image Pipeline,它需要我安装Pillow.

作为简化示例,我尝试了以下方法Dockerfile:

FROM python:alpine
RUN apk --update add libxml2-dev libxslt-dev libffi-dev gcc musl-dev libgcc openssl-dev curl
RUN apk add libjpeg zlib tiff freetype lcms libwebp tcl openjpeg
RUN pip install Pillow
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试构建它时,我得到一个错误,其中包含以下内容:

Traceback (most recent call last):
  File "/tmp/pip-build-ft5yzzuv/Pillow/setup.py", line 744, in <module>
    zip_safe=not debug_build(), )
  File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/usr/local/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in …
Run Code Online (Sandbox Code Playgroud)

python docker pillow dockerfile alpine-linux

28
推荐指数
7
解决办法
3万
查看次数

Docker-php-ext-install mcrypt缺少文件夹

我尝试在我的docker镜像中安装mcrypt php:7.2-apache.因此,我使用文档中的RUN-Command并在此处回答,但是我收到此错误:

error: /usr/src/php/ext/mcrypt does not exist


usage: /usr/local/bin/docker-php-ext-install [-jN] ext-name [ext-name ...]

   ie: /usr/local/bin/docker-php-ext-install gd mysqli
   /usr/local/bin/docker-php-ext-install pdo pdo_mysql
   /usr/local/bin/docker-php-ext-install -j5 gd mbstring mysqli pdo pdo_mysql shmop

if custom ./configure arguments are necessary, see docker-php-ext-configure

Possible values for ext-name:
bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp  gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8  odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql …
Run Code Online (Sandbox Code Playgroud)

php mcrypt docker dockerfile

28
推荐指数
3
解决办法
3万
查看次数

Docker 错误,只读文件系统未知

我正在使用Windows 10 x64并刚刚下载了 Docker,我尝试运行一个简单的“hello-world”dockerfile,但我不断收到错误:

docker: Error response from daemon: error creating temporary lease: file resize error: truncate /var/lib/desktop-containerd/daemon/io.containerd.metadata.v1.bolt/meta.db: read-only file system: unknown.

每次我尝试时,都会遇到相同的文件只读错误。

docker dockerfile

28
推荐指数
2
解决办法
7万
查看次数

如何在Dockerfile中声明多个维护者?

我怎样才能最好地表明有多个使用Dockerfile?构建的docker镜像的作者/维护者?如果我包含多个单独的MAINTAINER命令,则只有最后一个命令才会生效.

MAINTAINER Me Myself "myself@example.com"
MAINTAINER My Colleague "mycolleague@example.com"
Run Code Online (Sandbox Code Playgroud)

mycolleague显示在输出中docker inspect.

我应该在MAINTAINER一行中使用逗号分隔列表吗?是想为列举两个维护打了水漂,我应该只是armwrestle我的同事看到其电子邮件我们把文件?

docker dockerfile

27
推荐指数
1
解决办法
6770
查看次数

Docker命令/选项,用于显示或列出构建上下文

是否有一个命令/选项来显示或列出发送到Docker守护程序以构建映像的上下文?

$ docker build -t "image-name"
Sending build context to Docker daemon 8.499 MB
...
Run Code Online (Sandbox Code Playgroud)

通过指定.dockerignore文件中的模式,可以从构建上下文中排除文件和目录.我想我正在寻找的东西等于测试.dockerignore除了Docker在确定上下文时使用的任何其他利基规则.

docker dockerfile

27
推荐指数
4
解决办法
6041
查看次数