使用 docker-compose 运行容器时出错,从 dockerhub 中的私人存储库提取图像时出错

2024-07-03

我在 docker hub 的私人存储库上推送了 3 个镜像。 在本地,我始终运行 3 个映像的方式是通过 docker-compose up -d,并且它有效。

现在我尝试在不同的服务器中运行此图像,因此我将它们推送到 docker hub 中的私有存储库中。

因此,为了在新服务器中运行它们,我会这样做:

1-我使用我的 docker hub 凭据运行 docker login

WARNING! Your password will be stored unencrypted in /home/user/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

2-我手动拉取它们,没有错误:

~$ docker pull user/repo:tag
mongo: Pulling from user/repo
Digest: sha256:9c6a336963e6f680aa9550d502bc777e212f0025d22229fd60cb5826289f84e4
Status: Image is up to date for user/repo:tag

所以我在那里复制了我的 docker-compose.yml:

版本:'3.1'

services:
  engine:
    image: engine
    container_name: engine
    ports:
      - 5000:5000
    volumes:
      - $HOME/data/engine-import:/app/import
    depends_on:
      - mongo

  mongo:
    image: mongo
    container_name: mongo
    ports:
      - 27018:27017
    volumes:
      - $HOME/data/mongo-data:/data/db
      - $HOME/data/mongo-bkp:/data/bkp
    restart: always

-但是- 即使我那里有图像,当我运行 docker-compose up -d 时,这就是我得到的:

Pulling mongo (mongo:)...
ERROR: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

如果我输入“Y”,它会尝试拉动但没有成功......

Pulling mongo (mongo:)...
ERROR: pull access denied for mongo, repository does not exist or may require 'docker login'

我之前就登录过。

我将不胜感激任何帮助

UPDATE:添加 --verbose 标志,这是整个输出:

compose.config.config.find: Using configuration files: ./docker-compose.yml
docker.utils.config.find_config_file: Trying paths: ['/home/myuser/.docker/config.json', '/home/myuser/.dockercfg']
docker.utils.config.find_config_file: Found file at path: /home/myuser/.docker/config.json
docker.auth.load_config: Found 'auths' section
docker.auth.parse_auth: Found entry (registry='https://index.docker.io/v1/', username='akapit')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/version HTTP/1.1" 200 557
compose.cli.command.get_client: docker-compose version 1.21.2, build a133471
docker-py version: 3.3.0
CPython version: 3.6.5
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
compose.cli.command.get_client: Docker base_url: http+docker://localhost
compose.cli.command.get_client: Docker version: Platform={'Name': ''}, Components=[{'Name': 'Engine', 'Version': '18.06.0-ce', 'Details': {'ApiVersion': '1.38', 'Arch': 'amd64', 'BuildTime': '2018-07-18T19:09:05.000000000+00:00', 'Experimental': 'false', 'GitCommit': '0ffa825', 'GoVersion': 'go1.10.3', 'KernelVersion': '4.15.13-x86_64-linode106', 'MinAPIVersion': '1.12', 'Os': 'linux'}}], Version=18.06.0-ce, ApiVersion=1.38, MinAPIVersion=1.12, GitCommit=0ffa825, GoVersion=go1.10.3, Os=linux, Arch=amd64, KernelVersion=4.15.13-x86_64-linode106, BuildTime=2018-07-18T19:09:05.000000000+00:00
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('outflink_default')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/networks/outflink_default HTTP/1.1" 200 555
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {},
 'Created': '2018-08-15T12:59:22.828407238Z',
 'Driver': 'bridge',
 'EnableIPv6': False,
 'IPAM': {'Config': [{'Gateway': '172.18.0.1', 'Subnet': '172.18.0.0/16'}],
          'Driver': 'default',
          'Options': None},
...
compose.cli.verbose_proxy.proxy_callable: docker info <- ()
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/info HTTP/1.1" 200 None
compose.cli.verbose_proxy.proxy_callable: docker info -> {'Architecture': 'x86_64',
 'BridgeNfIp6tables': True,
 'BridgeNfIptables': True,
 'CPUSet': True,
 'CPUShares': True,
 'CgroupDriver': 'cgroupfs',
 'ClusterAdvertise': '',
 'ClusterStore': '',
 'ContainerdCommit': {'Expected': 'd64c661f1d51c48782c9cec8fda7604785f93587',
                      'ID': 'd64c661f1d51c48782c9cec8fda7604785f93587'},
...
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('outflink_default')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/networks/outflink_default HTTP/1.1" 200 555
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {},
 'Created': '2018-08-15T12:59:22.828407238Z',
 'Driver': 'bridge',
 'EnableIPv6': False,
 'IPAM': {'Config': [{'Gateway': '172.18.0.1', 'Subnet': '172.18.0.0/16'}],
          'Driver': 'default',
          'Options': None},
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=0&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=mongo', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dmongo%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=mongo', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dmongo%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=engine', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dengine%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=engine', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dengine%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('mongo')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/images/mongo/json HTTP/1.1" 404 82
compose.service.pull: Pulling mongo (mongo:)...
compose.cli.verbose_proxy.proxy_callable: docker pull <- ('mongo', tag='latest', stream=True, platform=None)
docker.auth.get_config_header: Looking for auth config
docker.auth.resolve_authconfig: Looking for auth entry for 'docker.io'
docker.auth.resolve_authconfig: Found 'https://index.docker.io/v1/'
docker.auth.get_config_header: Found auth config
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/images/create?tag=latest&fromImage=mongo HTTP/1.1" 404 109
ERROR: compose.cli.main.up: The image for the service you're trying to recreate has been removed. If you continue, volume data could be lost. Consider backing up your data before continuing.

Continue with the new image? [yN]y
compose.cli.verbose_proxy.proxy_callable: docker inspect_network <- ('outflink_default')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/networks/outflink_default HTTP/1.1" 200 555
compose.cli.verbose_proxy.proxy_callable: docker inspect_network -> {'Attachable': True,
 'ConfigFrom': {'Network': ''},
 'ConfigOnly': False,
 'Containers': {},
 'Created': '2018-08-15T12:59:22.828407238Z',
 'Driver': 'bridge',
 'EnableIPv6': False,
 'IPAM': {'Config': [{'Gateway': '172.18.0.1', 'Subnet': '172.18.0.0/16'}],
          'Driver': 'default',
          'Options': None},
...
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=False, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=0&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=mongo', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dmongo%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=mongo', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dmongo%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=engine', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dengine%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker containers <- (all=True, filters={'label': ['com.docker.compose.project=outflink', 'com.docker.compose.service=engine', 'com.docker.compose.oneoff=False']})
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/containers/json?limit=-1&all=1&size=0&trunc_cmd=0&filters=%7B%22label%22%3A+%5B%22com.docker.compose.project%3Doutflink%22%2C+%22com.docker.compose.service%3Dengine%22%2C+%22com.docker.compose.oneoff%3DFalse%22%5D%7D HTTP/1.1" 200 3
compose.cli.verbose_proxy.proxy_callable: docker containers -> (list with 0 items)
compose.cli.verbose_proxy.proxy_callable: docker inspect_image <- ('mongo')
urllib3.connectionpool._make_request: http://localhost:None "GET /v1.25/images/mongo/json HTTP/1.1" 404 82
compose.service.pull: Pulling mongo (mongo:)...
compose.cli.verbose_proxy.proxy_callable: docker pull <- ('mongo', tag='latest', stream=True, platform=None)
docker.auth.get_config_header: Looking for auth config
docker.auth.resolve_authconfig: Looking for auth entry for 'docker.io'
docker.auth.resolve_authconfig: Found 'https://index.docker.io/v1/'
docker.auth.get_config_header: Found auth config
urllib3.connectionpool._make_request: http://localhost:None "POST /v1.25/images/create?tag=latest&fromImage=mongo HTTP/1.1" 404 109
ERROR: compose.cli.errors.log_api_error: pull access denied for mongo, repository does not exist or may require 'docker login'`

我的 docker-compose 版本是docker-compose version 1.22.0, build f46880fe

Thanks


问题出在我的 docker-compose.yml 中。

image: engine应该是图像:myuser/repository:engine

我必须使用其 docker hub 用户和存储库来定义映像名称,我认为使用 docker pull 拉取它们就足够了,因为它们已经以这种方式标记了。

无论如何,它有效!

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

使用 docker-compose 运行容器时出错,从 dockerhub 中的私人存储库提取图像时出错 的相关文章

随机推荐

  • 带有 Jackson 异常的序列化和反序列化

    JSON 嵌套类数据绑定 https stackoverflow com questions 14038084 json nest class data binding正如答案所示 当我序列化和反序列化容器时 我得到了这个异常 Caused
  • 带有 Jackson 异常的序列化和反序列化

    JSON 嵌套类数据绑定 https stackoverflow com questions 14038084 json nest class data binding正如答案所示 当我序列化和反序列化容器时 我得到了这个异常 Caused
  • Hsqldb 单引号字符

    如何向 Hsqldb 表插入单引号字符 转义字符无法解决该问题 有两种方法 使用两个单引号 例如INSERT INTO T VALUES escap d 使用 Unicode 字符串 它可以包含 Unicode 转义符 例如INSERT I
  • Hsqldb 单引号字符

    如何向 Hsqldb 表插入单引号字符 转义字符无法解决该问题 有两种方法 使用两个单引号 例如INSERT INTO T VALUES escap d 使用 Unicode 字符串 它可以包含 Unicode 转义符 例如INSERT I
  • 对象数组上的 Javascript 数组长度不正确

    有人可以解释这种 奇怪的 行为吗 为什么第一个示例中的长度是 3 而不是 2 最重要的是 为什么第二个示例中的长度是 0 只要键是数字 长度就有效 如果不是 则长度为 0 如何从第二个示例中获得正确的长度 谢谢 a a 1 string1
  • 对象数组上的 Javascript 数组长度不正确

    有人可以解释这种 奇怪的 行为吗 为什么第一个示例中的长度是 3 而不是 2 最重要的是 为什么第二个示例中的长度是 0 只要键是数字 长度就有效 如果不是 则长度为 0 如何从第二个示例中获得正确的长度 谢谢 a a 1 string1
  • 强制从私有注册表下载 npm

    在我的 Nodejs 项目中 我必须修改 4 个节点模块并将它们上传到我们的私人公司注册表 以便该项目将在构建期间下载修改后的版本 我通过改变来做到这一点resolved领域在package lock json对于我们的虚拟 npm 注册表
  • 强制从私有注册表下载 npm

    在我的 Nodejs 项目中 我必须修改 4 个节点模块并将它们上传到我们的私人公司注册表 以便该项目将在构建期间下载修改后的版本 我通过改变来做到这一点resolved领域在package lock json对于我们的虚拟 npm 注册表
  • Flutter - 在容器中显示相机/条形码扫描仪

    我想将相机功能存储在一个单独的容器中 如标题所示 这意味着 如果相机启动 它仅显示在红色容器中 此时我该如何实现这一点 我的屏幕图片 https i stack imgur com R5INL jpg https i stack imgur
  • Flutter - 在容器中显示相机/条形码扫描仪

    我想将相机功能存储在一个单独的容器中 如标题所示 这意味着 如果相机启动 它仅显示在红色容器中 此时我该如何实现这一点 我的屏幕图片 https i stack imgur com R5INL jpg https i stack imgur
  • 输入spark-shell时找不到spark提交

    我一直在按照本教程为 scala 安装 Spark https www tutorialspoint com apache spark apache spark installation htm https www tutorialspoi
  • 输入spark-shell时找不到spark提交

    我一直在按照本教程为 scala 安装 Spark https www tutorialspoint com apache spark apache spark installation htm https www tutorialspoi
  • 防止 BeautifulSoup 的 renderContents() 更改为 Â

    我在用着bs4 https beautiful soup 4 readthedocs io en latest index html对某些文本进行一些处理 但在某些情况下它会转换 nbsp 字符到 我能说的最好的是 这是一个从 UTF 8
  • 防止 BeautifulSoup 的 renderContents() 更改为 Â

    我在用着bs4 https beautiful soup 4 readthedocs io en latest index html对某些文本进行一些处理 但在某些情况下它会转换 nbsp 字符到 我能说的最好的是 这是一个从 UTF 8
  • 使用node.js显示html页面

    这是我第一次使用 Node js 我让它显示index html 但它不显示网站上的图像或其他任何内容 它只显示基本的html 内容 我是这样设置的 服务器上没有apache php或其他任何东西 只有ubuntu proftp和node
  • 使用node.js显示html页面

    这是我第一次使用 Node js 我让它显示index html 但它不显示网站上的图像或其他任何内容 它只显示基本的html 内容 我是这样设置的 服务器上没有apache php或其他任何东西 只有ubuntu proftp和node
  • PNG 或 JPG 等图像文件中的隐藏/打开单词

    据我所知 我的问题与速记或 win rar 解决方案中涉及的主题无关 我已经看到您本质上隐藏了消息 我试图弄清楚是否有一种方法可以将代码插入到带有简单消息的文件 例如 jpg 或 png 中 稍后可以通过读取文件的程序将其提取出来 而无需将
  • PNG 或 JPG 等图像文件中的隐藏/打开单词

    据我所知 我的问题与速记或 win rar 解决方案中涉及的主题无关 我已经看到您本质上隐藏了消息 我试图弄清楚是否有一种方法可以将代码插入到带有简单消息的文件 例如 jpg 或 png 中 稍后可以通过读取文件的程序将其提取出来 而无需将
  • 使用 docker-compose 运行容器时出错,从 dockerhub 中的私人存储库提取图像时出错

    我在 docker hub 的私人存储库上推送了 3 个镜像 在本地 我始终运行 3 个映像的方式是通过 docker compose up d 并且它有效 现在我尝试在不同的服务器中运行此图像 因此我将它们推送到 docker hub 中
  • 使用 docker-compose 运行容器时出错,从 dockerhub 中的私人存储库提取图像时出错

    我在 docker hub 的私人存储库上推送了 3 个镜像 在本地 我始终运行 3 个映像的方式是通过 docker compose up d 并且它有效 现在我尝试在不同的服务器中运行此图像 因此我将它们推送到 docker hub 中