Docker 本地仓库搭建

不念不忘少年蓝@ 2022-05-16 14:35 324阅读 0赞

Docker 本地仓库搭建

      1. 下载仓库镜像
      1. 创建仓库文件夹
      1. 启动仓库
      1. 查看仓库启动
    • 5.测试
      1. 问题解决
      • 6.1 创建配置文件

源代码GitHub下载地址:spring-boot-docker

1. 下载仓库镜像

从中央仓库拉取最新的 registry 仓库。

  1. docker pull registry

2. 创建仓库文件夹

  1. mkdir -pv /opt/docker/registry

3. 启动仓库

端口映射为:5000
本地文件映射为:/opt/docker/registry

  1. docker run -d -p 5000:5000 --restart=always -v /opt/docker/registry:/var/lib/registry registry

4. 查看仓库启动

  1. docker ps

可看到输出如下:

  1. docker ps
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. a7b23b6e8633 registry "/entrypoint.sh /e..." 8 minutes ago Up 6 minutes 0.0.0.0:5000->5000/tcp distracted_jang

访问地址:

ip为本地仓库ip地址。

  1. curl http://192.168.234.97:5000/v2/_catalog

5.测试

使用hello-world镜像进行测试,创建本地 tag

  1. docker tag hello-world 192.168.234.97:5000/hello

推送到本地仓库

  1. docker push 192.168.234.97:5000/hello

再次查看:

  1. curl http://192.168.234.97:5000/v2/_catalog

输出显示,有新增的仓库。

  1. { "repositories":["hello"]}

6. 问题解决

推送到本地仓库

  1. docker push 192.168.234.97:5000/hello

报错

  1. The push refers to a repository [192.168.234.97:5000/hello]
  2. Get https://192.168.234.97:5000/v1/_ping: http: server gave HTTP response to HTTPS client

原因分析:

客户端http不能访问

解决方案,创建配置文件,修改配置。用到这个仓库的机器都要执行这个操作:

6.1 创建配置文件

创建配置文件

  1. touch /etc/docker/daemon.json

写入配置:

  1. echo '{ "insecure-registries":["192.168.234.97:5000"] }' > /etc/docker/daemon.json

重新启动docker

  1. systemctl restart docker

再次尝试推送到本地仓库,可以成功

  1. docker push 192.168.234.97:5000/hello

成功输出如下:

  1. The push refers to a repository [192.168.234.97:5000/hello]
  2. 428c97da766c: Pushed
  3. latest: digest: sha256:7d6fb7e5e7a74a4309cc436f6d11c29a96cbf27a4a8cb45a50cb0a326dc32fe8 size: 524

查看镜像tag

  1. http://192.168.234.97:5000/v2/hello/tags/list

发表评论

表情:
评论列表 (有 0 条评论,324人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Docker本地仓库

    为什么需要搭建本地仓库? 1.节约带宽:因为如果用docker或阿里云官方的仓库走的互联网浪费带宽,而且慢。 2.提供资源利用和安全:因为公司内部的镜像,推送到本地仓库