Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker构建期间从私有存储库中提取docker映像?_Docker_Dockerfile_Docker Registry_Docker Trusted Registry - Fatal编程技术网

在docker构建期间从私有存储库中提取docker映像?

在docker构建期间从私有存储库中提取docker映像?,docker,dockerfile,docker-registry,docker-trusted-registry,Docker,Dockerfile,Docker Registry,Docker Trusted Registry,在docker build期间,是否有任何方法可以从私有注册表而不是docker hub中提取图像 我部署了一个私有注册表,我希望能够避免在Dockerfile的FROM指令中命名其特定的ip:port。我期待一个docker build选项或一个docker环境变量来更改默认注册表。docker人员通常希望确保,无论您的本地环境如何,如果运行docker pull foo/bar,您都会得到相同的结果(即来自docker Hub的foo/bar图像) 这意味着如果没有明确的主机名/端口,Doc

在docker build期间,是否有任何方法可以从私有注册表而不是docker hub中提取图像


我部署了一个私有注册表,我希望能够避免在Dockerfile的
FROM
指令中命名其特定的
ip:port
。我期待一个
docker build
选项或一个docker环境变量来更改默认注册表。

docker人员通常希望确保,无论您的本地环境如何,如果运行
docker pull foo/bar
,您都会得到相同的结果(即来自docker Hub的
foo/bar
图像)


这意味着如果没有明确的主机名/端口,Docker将无法使用任何其他选项。

映像名称应包括注册表主机的FQDN。 因此,如果您想从获取
,必须将其指定为来自注册表的
\u主机:5000/foo/bar


在未来,这将不是一个要求,但不幸的是,现在它是。

我在2019年面临同样的问题。我使用参数(ARG)解决了这个问题。

参数允许您设置可在FROM行中使用的可选参数(默认值)

Dockerfile项目开发

ARG REPO_LOCATION=privaterepo.company.net/
ARG BASE_VERSION=latest
FROM ${REPO_LOCATION}project/base:${BASE_VERSION}
...
对于我的用例,我通常希望从私有回购中提取,但是如果我正在处理Dockerfile,我可能希望能够从我自己机器上的映像构建,而不必修改Dockerfile中的from行。要让Docker在构建时搜索本地计算机中的图像,我将执行以下操作:

docker build -t project/dev:latest -f ./Dockerfile-project-dev --build-arg REPO_LOCATION='' .

它在什么地方有记录吗?在不修改每个docker文件的情况下使用注册表镜像是不可能的。我不认为有明确的文档记录,但它已经出现在问题跟踪器和邮件列表中。@JulioGuerra您可以在镜像模式下设置注册表,并告诉docker有关镜像的信息。无需更改图像名称即可将其从镜像中拉出。您可以说,将来这将不是一个要求。来源?@starbeamrainbowlabs这个答案最初是在2015年给出的。我认为这是“未来”功能,当时。我在回答中提到的在FROM中使用ARGs的文档(至少)是在2017年添加的。我没有再挖了。