用户docker-撰写从私有存储库中提取图像

utk*_*h31 17 docker microservices docker-compose

我正在使用docker-compose命令来运行多个容器.问题是我的docker-compose必须从公共存储库中提取一些图像,并从私有存储库中提取一些图像.我打算做的是将所有必需的图像推送到私有存储库但是如何使docker-compose从私有存储库中提取图像.

简而言之 - >当图像仅在那里可用时,如何指向私有存储库

Mat*_*ron 25

使用docker login命令.(官方文档)
输入您的凭据,然后只有您有访问权限才能提取私有图像.

如果要登录自托管注册表,可以通过添加服务器名称来指定.

docker login localhost:8080
Run Code Online (Sandbox Code Playgroud)

感谢@ herm的评论,如果你想使用swarm,请使用: --with-registry-authoption.Personnaly,我使​​用这个命令:

docker stack deploy --with-registry-auth --compose-file dev.compose.yml myProjectName
Run Code Online (Sandbox Code Playgroud)

  • Fyi:当在群中使用docker stack deploy时, - with-registry-auth选项会将登录信息转发给其他节点. (6认同)
  • 如果您将映像托管在私有 Artifactory Enterprise 服务器实例上,则不能只执行“docker login”“docker pull imageName”。您必须执行“docker login artifactory.myCompany.com”“docker pull artifactory.myCompany.com/imageName:label”。但是,即使在登录命令行,然后运行包含“image:artifactory.myCompany.com/imageName:label”的 docker-compose 文件后,我仍然收到错误“pull access returned returned for imageName,repository does not”存在或可能需要“docker 登录”` (2认同)