• 第4章 docker仓库管理


    一、docker hub公共仓库

    1.公共仓库地址

    https://hub.docker.com,进入后点击sign up注册docker账号

    2.登录docker hub

    # docker login https://hub.docker.com

    3.搜索镜像

    # docker search centos

    4.使用阿里云镜像加速

    参考文档:官方镜像加速

    二、registry私有仓库

    1. 部署register私有仓库

    • 服务器规划

    ip

    角色

    192.168.217.128

    本地仓库

    192.168.217.130

    docker客户端

    • 使用registry镜像创建私有仓库
    [root@docker ~]# docker run -d -p 5000:5000 registry:2
    • 该命令自动下载官方提供的registry镜像来搭建本地私有仓库,默认情况下创建在容器的/var/lib/registry目录下,可以通过-v来指定路径
    [root@docker ~]# docker run -d -p 5000:5000 -v /registry:/var/lib/registry registry:2
    • 查看仓库运行情况

    • {“repositories”: []} 表示现在仓库中,没有镜像images

    2. 使用register私有仓库

    • 查看客户端已有的images

    • 将该镜像修改tag

    • 上传标记镜像

    • 成功会出现上述提示,表示本地的仓库默认使用的是https进行上传,那行是latest是重新上传出现的。
    • 如果你在push镜像的时候出现问题,可能是因为我们启动的registry服务不是安全可信赖的
    • 修改配置文件
    vim /etc/docker/daemon.json,


    添加下面的内容: "insecure-registries":["192.168.217.128:5000"], 再重启docker 服务

    • 仓库端查看镜像

    • 删除客户端镜像,从本地仓库下载镜像

    3. 管理register私有仓库

    • 删除镜像仓库镜像

    打开镜像的存储目录,如有-V操作打开挂载目录也可以,删除镜像文件夹

    docker exec <容器名> rm -rf /var/lib/registry/docker/registry/v2/repositories/<镜像名>
    • 执行垃圾回收操作,注意2.4版本以上的registry才有此功能
    docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml

    三、Harbor私有镜像仓库

    1.Harbor私有镜像仓库

    Harbor:是一个用于存储Docker镜像的企业级Registry服务

    Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到Registry私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

    1.1安装docker

    1.2安装docker-compose

    1.3下载harbor离线安装包

    参考链接

    1. [root@harbor ~] wget https://github.com/vmware/harbor/releases/download/v1.8.6/harbor-offline-installer-v1.8.6.tgz
    2. [root@harbor ~]# tar -xvf harbor-offline-installer-v1.8.6.tgz

    (1)修改harbor.yml配置文件 

    • 注释https相关配置

    (2)运行install.sh脚本 

    [root@harbor harbor]# ./install.sh

    (3)访问Harbor并登录 

    • 初始用户名admin
    • 初始密码Harbor12345

    (4)创建systemd服务管理脚本 

    1. [Unit]
    2. Description=Harbor
    3. After=docker.service systemd-networkd.service systemd-resolved.service
    4. Requires=docker.service
    5. Documentation=http://github.com/vmware/harbor
    6. [Service]
    7. Type=simple
    8. Restart=on-failure
    9. RestartSec=5
    10. ExecStart=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml up
    11. ExecReload=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml restart
    12. ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down
    13. [Install]
    14. WantedBy=multi-user.target

    四、docker授权访问harbor仓库

    1.docker配置文件私有仓库设置

    [root@master ~]# vim /etc/docker/daemon.json

    2.重启docker

    1. systemctl daemon-reload
    2. systemctl restart docker

    3.master节点登录测试 

    4.推送镜像测试 

    1. [root@master ~]# docker tag hello-world 192.168.10.103/library/hello-world:v1
    2. [root@master ~]# docker push 192.168.10.103/library/hello

    第1章 docker基础

    第2章 docker镜像管理

    第3章 docker容器管理

  • 相关阅读:
    Fragment之间进行通信的最佳实现方式
    LoRa模块空中唤醒功能原理和物联网应用
    C++语法基础
    Linux下安装docker以及docker安装Oracle19c的全部详细过程及各种问题解决
    mysql保存emoji表情问题-java
    y88.第五章 分布式链路追踪系统 -- 分布式链路追踪系统简介和部署skywalking(二)
    前端小知识之【浏览器内核】
    Crontab 定时任务
    java递归将list转换为树形结构
    Linux查看磁盘、文件系统、文件夹、文件大小的命令(lsblk、df、du、ll)
  • 原文地址:https://blog.csdn.net/zhuyangyong/article/details/127808328