图像未在docker私有存储库中推送

时间:2018-01-05 10:10:24

标签: docker docker-registry

Docker版本17.03.0-ce在客户端计算机上。我使用的是注册表版本2.该机器在Ubuntu 16.04 Xenial上运行。

步骤:

  1. 我创建了一个图片
  2. 我为<hostname>:5000/<username>/<repository>:<tag>
  3. 格式创建了另一个标签
  4. 我执行了命令docker push <hostname>:5000/<username>/<repository>:<tag>
  5. 三提到:

    1. 私有存储库使用http,而不是https,因为错误消息中提到了这一点。
    2. 我创建了一个文件&#34; docker.json&#34;在路上     &#34; / etc / docker&#34;,并添加以下行:{"insecure-registries": ["<hostname>:5000"] }并执行&#34; sudo /etc/init.d/docker restart&#34;
    3. curl http://<hostname>:5000/v2/_catalog可以很好地为客户服务 机。
    4. 完成所有这些步骤后,我收到以下消息:

      Get https://<hostname>:5000/v2: http: server gave HTTP response to HTTPS client
      

3 个答案:

答案 0 :(得分:2)

  

我创建了一个文件&#34; docker.json&#34;在路径&#34; / etc / docker&#34;

这不是正确的文件名,您需要创建一个名为/etc/docker/daemon.json的文件。然后重新运行您已执行的步骤。

答案 1 :(得分:0)

您可以尝试使用docker daemon.json文件添加普通的http支持。

/etc/docker/daemon.json

内容

{
  "insecure-registries" : ["registry:5000"]
}

答案 2 :(得分:0)

尝试在docker_opts变量的/ etc / default / docker文件中添加不安全的注册表设置

DOCKER_OPTS=--insecure-registry registry_ip:5000