首页 > 解决方案 > 如何使用私有注册表中的基础映像构建 dockerfile?

问题描述

我想构建一个 docker 映像并将其推送到私有注册表。我有 dockerfile,其中 FROM 指向私有 docker 注册表映像。当我尝试使用 dockerfile 构建图像时,我收到Error Status: 400 Unauthorized。我尝试从命令行登录到私有注册表,然后运行 ​​dockerfile。但仍然有同样的问题。有人对此提出建议

标签: dockerjenkinsdockerfile

解决方案


您需要从要构建 docker 映像的同一台机器登录。

在 AWS ECS 的情况下,您可以使用 Docker 构建进行尝试。

 $(aws ecr get-login --no-include-email --region us-west-2) && docker build -t myimage .

在 Dockerhub 的情况下

docker login -u="your_username" -p="your_pass" && docker build -t abc .

但是应该避免纯文本凭据,您可以链接以获得更安全的方式并摆脱 Docker 纯文本凭据

如果您想使用 Jenkins,最好选择这种方法。

 docker.withRegistry('https://registry.example.com', 'credentials-id') {

如何在 Jenkins 声明式语法中登录到 docker?


推荐阅读