关于docker那点事儿——docker镜像仓库


前言

docker镜像仓库与yum源类似,只是yum源是保存的一些rpm包,来帮助我们快速安装软件。而docker镜像仓库是保存的docker镜像,来帮助我们快速拉取到我们需要的镜像。yum源有公共yum源和本地yum源,docker镜像仓库也类似,有官方镜像仓库,国内仓库(aliyun、daocloud等),这些都统称为公有仓库。也有公司的自建仓库也就是私有仓库,我们可以把按项目需求制作的镜像放到私有仓库保存。因为都是内网,也加速了镜像的拉取。
本期我们主要研究本地仓库的搭建两种方法
1、使用docker官方提供的registry镜像搭建镜像仓库
2、使用docker harbor搭建仓库(推荐)

一、使用registry镜像搭建镜像仓库

  1. 下载仓库镜像
docker pull daocloud.io/library/registry:latest
  1. 后台运行容器
docker run -d -p 5000:5000 daocloud.io/library/registry:latest
  1. 查看5000端口是否监听
docker exec 9eb netstat -anlp |grep 5000
  1. 尝试访问该仓库 返回必须是200OK才正确
curl  -I  127.0.0.1:5000
HTTP/1.1 200 OK
  1. 给镜像打标签
docker tag personal_docker:v1 192.168.93.133:5000/personal_docker:v2
  1. push镜像到仓库
docker push 192.168.93.133:5000/personal_docker:v2

如果报错:
        The push refers to a repository [192.168.93.133:5000/personal_docker]
        Get https://192.168.93.133:5000/v1/_ping: http: server gave HTTP response to HTTPS client
      这是因为docker默认支持https的协议,而我们的仓库是http协议的,docker认识其是不安全的,所以我们将仓库地址加入docker的配置文件,让docker信任该地址。
       *注:使用该仓库的所有主机都要添加此配置*
        vim /etc/docker/daemon.json
        { "insecure-registries":["192.168.93.133:5000"] }    # 配置文件添加这一行内容 
        systemctl restart docker
        docker start 9eb        # 开启容器
        docker push 192.168.93.133:5000/personal_docker:v2   # 上传镜像

  1. 查看仓库镜像
curl 192.168.93.133:5000/v2/_catalog
{"repositories":["personal_docker"]}
  1. 测试镜像 在其他主机尝试pull
docker pull 192.168.93.133:5000/personal_docker:v2

二、使用docker harbor搭建镜像仓库

  1. 安装docker-ce及docker-compose
yum -y install docker-ce docker-compose
  1. 下载docker harbor 离线安装包
harbor官网:https://goharbor.io/

wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz

tar xf harbor-offline-installer-v1.9.1.tgz

在这里插入图片描述

  1. 修改配置文件
vim docker-compose.yml

hostname # 本机地址

port # harbor监听端口

harbor_admin_password # admin密码 用于登录harbor

在这里插入图片描述

  1. 安装docker harbor
sh install.sh

docker images
goharbor/chartmuseum-photon                  v0.9.0-v1.9.1                   0aa7451af9b8        7 weeks ago         131MB
goharbor/harbor-migrator                     v1.9.1                          a83f1be1ec94        7 weeks ago         362MB
goharbor/redis-photon                        v1.9.1                          4d8d79a557df        7 weeks ago         110MB
goharbor/clair-photon                        v2.0.9-v1.9.1                   98b318ca3cb0        7 weeks ago         165MB
goharbor/notary-server-photon                v0.6.1-v1.9.1                   78dac4ed14d8        7 weeks ago         138MB
goharbor/notary-signer-photon                v0.6.1-v1.9.1                   5d9f413e14a8        7 weeks ago         135MB
goharbor/harbor-registryctl                  v1.9.1                          f4b2b72cdf71        7 weeks ago         99.6MB
goharbor/registry-photon                     v2.7.1-patch-2819-2553-v1.9.1   d460d658f383        7 weeks ago         82.3MB
goharbor/nginx-photon                        v1.9.1                          0db1e12b9d30        7 weeks ago         43.9MB
goharbor/harbor-log                          v1.9.1                          368dd79ef99f        7 weeks ago         82.6MB
goharbor/harbor-jobservice                   v1.9.1                          71d4a3eaff94        7 weeks ago         141MB
goharbor/harbor-core                         v1.9.1                          d105210d9924        7 weeks ago         155MB
goharbor/harbor-portal                       v1.9.1                          2dced1823043        7 weeks ago         51.3MB
goharbor/harbor-db                           v1.9.1                          91784692a954        7 weeks ago         147MB
goharbor/prepare                             v1.9.1                          44775181c88d        7 weeks ago         148MB

  1. 修改docker配置 新增信任仓库
cat /etc/docker/daemon.json 
{
    "bip": "172.100.100.1/24",                      # 修改docker默认网段
    "registry-mirrors": ["https://pee6w651.mirror.aliyuncs.com"],    # pull镜像加速器(阿里)
    "insecure-registries": ["123.56.28.xxx:80xx"]          #使用非ssl源时需要此配置、添加信任
}

重启docker服务
systemctl daemon-reload
systemctl restart docker

  1. 登录docker harbor
docker login http://ip:port/

登录成功后,可以查看仓库的project、image等信息,也可以进行docker push/pull等操作了
curl -u "harbor账号:密码" -X GET -H "Content-Type: application/json" "http://ip:port/api/search?"

在这里插入图片描述

  1. docker harbor UI界面

在这里插入图片描述

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

偷学技术的梁胖胖yo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值