如何在Dockerconfiguration文件中指定Docker私有registry凭据?

我正在创buildnodejs应用程序的Docker容器。 以下是我的Dockerconfiguration文件的示例

FROM node:6.11 WORKDIR /usr/src/app COPY package.json . npm install copy . /usr/src/app EXPOSE 80 CMD [ "npm", "start" ] 

这将从Docker集线器下载节点映像,然后根据configuration创buildDocker映像。

出于安全原因,我不想从Docker中心下载nodejs镜像,而是想使用我的私有存储库下载nodejs镜像。

正如我设置私人存储库,我不知道如何在DockerFile指定registry凭据。

谁能帮我这个?

默认情况下,docker从Dockerhub中提取所有图像。 如果要从另一个registry中提取图像,则必须在图像名称前加registryURL。 检查官方docker拉文件 。

就你而言,你有两个select:

首先是明确指定Dockerfile中的registry,如下所示:

 FROM <registry>:<port>/node:6.11 WORKDIR /usr/src/app 

一旦你build立,图像将从私人登记处下载。 在使用docker login命令构build之前,请确保您已经login到registry。

或者,如果您不想更改泊坞窗文件。 使用docker pull <registry>:<port>/node:6.11从私有registry中docker pull <registry>:<port>/node:6.11 ,然后强制docker pull <registry>:<port>/node:6.11 build使用这个图像,只用node:6.11标记它node:6.11

 docker tag <registry>:<port>/node:6.11 node:6.11 

在构buildDocker镜像之前,您必须执行docker login到您的私有仓库。 然后拉 – 显式或隐式通过FROM将使用该registry(虽然我找不到任何文档来支持,我怀疑它也回落到Docker Hub,如果它无法find那里的形象,但这可能是依赖关于registry设置????)

我猜你已经在你的本地dockerregistry中有了nodejs镜像。 如果您想从本地dockerregistry中获取nodejs映像,请执行以下操作: