docker - 如何使用私有注册表中的基础映像构建 dockerfile?
问题描述
我想构建一个 docker 映像并将其推送到私有注册表。我有 dockerfile,其中 FROM 指向私有 docker 注册表映像。当我尝试使用 dockerfile 构建图像时,我收到Error Status: 400 Unauthorized。我尝试从命令行登录到私有注册表,然后运行 dockerfile。但仍然有同样的问题。有人对此提出建议
解决方案
您需要从要构建 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') {
推荐阅读
- powershell - PowerShell - 列出所有文件夹、子文件夹和每个包含的文件(递归)但以格式化方式(树视图)
- angular - 我收到来自未知元素的错误
- r - 在R中固定拉长的图形彼此相邻
- python - Discord.py 输出时没有反应表情符号
- docker - Jenkins 管道无法在 Jenkins 节点上运行远程脚本
- postgresql - 没有显式类型转换的 pg_restore 上不提供几何等式运算符
- python - How to cast values to custom type in SQLAlchemy with Postgres
- passport.js - 在使用 passport-github 时,尽管 user:email 范围,但 profile.emails 为空
- oracle - PLSQL:在条件和更新不起作用的地方插入触发器之前
- azure - How can I get the system key for Azure Function with custom domain for binding event grid trigger?