gpt4 book ai didi

docker - ElasticBeanstalk - 无法从私有(private) Docker Hub 存储库中提取 docker 镜像

转载 作者:行者123 更新时间:2023-12-02 19:45:07 25 4
gpt4 key购买 nike

我正在将 docker 镜像部署到 ElasticBeanstalk(使用 CodePipeline)。我的 Dockerrun.aws.json看起来像这样:

{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "mybucket",
"Key": "docker_hub_auth.json"
},
"Image": {
"Name": "repo/image:tag",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "8080"
}
]
}
我从 ElasticBeanstalk 实例中收到错误: Failed to pull Docker image repo/image:tag: Error response from daemon: pull access denied for repo/image, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. Check snapshot logs for details. (Executor::NonZeroExitStatus)当我 ssh 到实例时,我可以检查 授权文件 docker_hub_auth.json 正在成功下载 .令我惊讶的是,文件下载到 /root/.dockercfg (来自 03build.sh 通过 download_auth.py )。然后 docker pull被调用。但我假设 docker 期望 /root/.docker/config.json 中的身份验证!
当我手动执行 docker login在实例上,它将 Docker Hub 身份验证添加到 /root/.docker/config.json并部署开始工作。但显然我需要让它在没有手册的情况下工作 docker login以防我的实例被替换或新实例启动。
这对我来说似乎是一个错误。我能做些什么?自动脚本下载授权到 /root/.dockercfg但是 docker (Docker 版本 19.03.6-ce, build 369ce74) 在 /root/.docker/config.json 中需要它.任何建议如何克服它?
更新,已解决
A 已迁移到 Amazon Linux 2,现在它可以工作了。

最佳答案

您可以使用 ebextensions运行 bash 命令将文件移动到所需位置。
根据下载文件的时间,您可以使用 CommandsContainer commands要做到这一点。或者,有 platform hooks您也可以使用它。

关于docker - ElasticBeanstalk - 无法从私有(private) Docker Hub 存储库中提取 docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63955178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com