(注:这似乎与Jenkins无关,但只是以防万一)
我正在使用Jenkins插件来构建我的码头映像,但是我的构建失败了,只有以下例外:Dockerfile is excluded by pattern 'Dockerfile' in .dockerignore file
com.github.dockerjava.api.exception.DockerClientException: Dockerfile is excluded by pattern 'Dockerfile' in .dockerignore file
at com.github.doc
如果使用带有以下Dockerfile内容的docker build .构建映像,则在运行docker history <image_id>时,会看到CREATED BY列中列出的标签。
IMAGE CREATED CREATED BY SIZE COMMENT
7365e50be12b 12 minutes ago LABEL version=0.1 0B buildkit.doc
我有一个基本的Dockerfile:
FROM ubuntu:xenial
USER test
ENTRYPOINT ["/bin/bash"]
对于这个Dockerfile,我希望能够创建一个没有密码的用户,并且当Docker容器运行时,我希望使用该用户,而不是root。当我尝试运行容器docker run -it test:1时,我得到了这个错误:
docker: Error response from daemon: linux spec user: unable to find user test: no matching entries in passwd file.
我试图使用docker和docker-组合来使用环境变量构建一组带有一些自定义参数的容器,例如,我希望在容器中的特定的位置挂载一个目录。此特定位置存储在环境变量中,并使用如下命令在Dockerfile中创建:
RUN mkdir $custom_location
我将参数保存在一个.env文件中,该文件填充坞-组合文件。
容器运行后,使用printenv命令,我可以看到env变量的传递已经成功,我可以手动运行命令mkdir $custom_location,但是在dockerfile构建过程中,命令没有成功。
Dockerfile的摘要版本如下所示:
FROM python:3.6.5 as
我所拥有的是多个相似和简单的dockerfile
但是我想要的是有一个单基dockerfile,我的dockerfile将它们的变量传递给它。
在我的例子中,dockerfile之间唯一的区别仅仅是它们的EXPOSE,所以我认为最好保持基本dockerfile和其他dockerfile只像模板引擎那样将这些变量注入基本dockerfile
一个样本dockerfile
FROM golang:1.17 AS builder
WORKDIR /app
COPY . .
RUN go mod download
RUN go build -o /bin/app ./cmd/root.go
FROM
我有一个Dockerfile:
FROM python:2
# Large number of commands
我想要创建Dockerfile-py3,它扩展了python:3而不是python:2,但在其他方面是相同的。除了
FROM python:3
# Copy of large number of commands
为了避免冗余,我有什么解决方案?
我的DockerFile的逻辑如下:
1. Start the server in the background (with `&` at the end of the command)
2. Run some queries against the server, these are foreground processes
我的目标是在执行DockerFile中的所有逻辑时保持容器运行。但是,当我执行docker run -d时,在运行上述步骤2中的查询之后,容器将继续使用错误代码0退出。
我从中学到
退出代码0表示特定容器没有附加前台进程。
这在我的例子中是正确的--只有
我的Dockerfile包含一个
RUN xyz.sh --IP localhost
当我给命令码头运行时,我想插入一个新的IP地址:
docker run -it IP 127.0.0.1 name:tag
怎么才能这样通过呢?
我试图在Docker文件中提供ENV,并在run命令中使用-e,但是没有任何效果。