我可以使用 Heroku 注册表作为评论应用服务的基础镜像吗?

2023-12-02

我的 Heroku 管道之一当前正在使用 Docker 部署(https://devcenter.heroku.com/articles/container-registry-and-runtime) 结合heroku.yml (https://devcenter.heroku.com/articles/heroku-yml-build-manifest).

目前正在使用 Docker 成功构建审核应用程序(在container堆)。我目前有一个web和一个worker服务定义于heroku.yml在我的“形成”部分app.json.

build:
  docker:
    web: Dockerfile.web
    worker: Dockerfile.worker
    servicex: Dockerfile.servicex

在我的评论应用程序中,我也尝试运行servicex目前这是一个使用 Docker 托管在我的 Heroku 上的应用程序container堆。自从servicex相应的应用程序正在使用 Docker,它在 Heroku 的注册表中有一个镜像。我正在尝试使用该图像作为基础图像servicex

FROM registry.heroku.com/<app_name>/<process_type>

这将在本地工作,因为我已经通过 Heroku 的注册表进行了身份验证,但是当构建在 Heroku 上发生时,它会失败并出现错误:

Sending build context to Docker daemon  5.223MBStep 1/2 : FROM registry.heroku.com/<app_name>/<process_type>
Get https://registry.heroku.com/v2/<app_name>/<process_type>/manifests/latest: no basic auth credentials

我的问题是我是否可以在构建过程中轻松地通过 Heroku 的注册表进行身份验证? 如果没有,最好的方法是什么。尝试公开任何凭据,Dockerfile 中的进程似乎无法访问 Heroku 配置凭据。


在与 Heroku 支持人员交谈后,这还不可能。

我决定为不同的语言堆栈创建一系列基础映像,将它们托管在 Dockerhub 上,并将它们用作我的评论应用程序映像的起点。

我还使用了一种方法来缓存 Dockerfile 中的依赖项,这里使用类似的策略(ruby 示例使用bundle install https://medium.com/magnetis-backstage/how-to-cache-bundle-install-with-docker-7bed453a5800)

由于我的工作程序和 Web 服务使用相同的依赖项,因此依赖项安装步骤使用缓存!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用 Heroku 注册表作为评论应用服务的基础镜像吗? 的相关文章

随机推荐