掌握CentOS7环境下的Docker使用(八)阿里云镜像仓库实战、harbor仓库搭建与实战、本地镜像容器的载入载出
文章目录
镜像仓库简介
通俗来讲,镜像仓库就是存放着很多镜像的仓库,镜像仓库起到备份作用,方便其他机器下载使用
镜像仓库的种类可以大致分为两大类:
公共镜像仓库
官方:https://hub.docker.com/,基于各个软件开发或者有软件提供商开发的
非官方:其他组织或者公司开发的镜像,供大家免费使用
私有镜像仓库
公司自己搭建的,用于存放公司内部的镜像,自己管理,不提供给外部使用,避免了商业项目暴露出去的风险
阿里云镜像仓库的搭建与使用
阿里云镜像仓库申请地址:https://cr.console.aliyun.com/cn-shanghai/instances/repositories
创建仓库
登录,选择企业/个人实例

选择私有,其他可以自定义

选择本地仓库,创建

创建成功

点开仓库可以看到操作指南:


登录
docker login --username=豆浆两块钱 --password=xxx registry.cn-shanghai.aliyuncs.com或者docker login --username=豆浆两块钱 registry.cn-shanghai.aliyuncs.com

将镜像推送到Registry
将本地mysql:5.7镜像推送上去:
(1)docker tag 0018a8d83892 registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7

(2)docker push registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7


推送成功

从Registry中拉取镜像
启动另一个虚拟机,从阿里云镜像仓库中拉取镜像:docker pull registry.cn-shanghai.aliyuncs.com/zytenimages/mysql:5.7

拉取成功:

harbor仓库搭建与使用
安装之前确保前置条件是否满足,需要安装docker、docker-compose、openssl以及python2.7以上
搭建harbor仓库
安装:yum -y install openssl
Harbor离线版安装下载地址:https://github.com/goharbor/harbor/releases
或者使用我下载的安装包地址:https://pan.baidu.com/s/14NfZYKz5-Y4hnkPG0koDYA?pwd=birc 提取码:birc
上传对应安装包到/usr/lcoal目录下:

解压harbor-offline-installer-v2.7.1.tgz压缩包:tar -xf harbor-offline-installer-v2.7.1.tgz
进入解压后的harbor文件夹修改harbor.yml配置: 如果没有这个文件,就把harbor.yml.tmpl修改为harbor.yml
- 修改主机名为宿主机ip(注意空格): hostname: 10.24.200.10
- 修改密码(注意空格): harbor_admin_password: Harbor12345

执行脚本: sh prepare

执行安装命令:sh install.sh

执行命令: docker-compose ps

访问Harbor,默认用户名admin,密码是在harbor.yml修改的密码
- 关闭:
docker-compose down - 启动:
docker-compose up -d
因为是基于nginx搭建的仓库,可以看到端口默认是80,根据ip直接访问:


配置与使用harbor仓库
Docker配置使用自建仓库
- 默认docker只允许访问 https仓库
- 如果要访问http仓库需要自己配置
harbor网页上创建项目:


登录: docker login --username=admin 10.24.200.10

改名: docker tag mysql:5.7 10.24.200.10/zyten/mysql:5.7
推送: docker push 10.24.200.10/zyten/mysql:5.7


成功上传
下载: docker pull 10.24.200.10/zyten/mysql:5.7


下载成功
docker login后有一个登录凭证(可删除,下次需要密码):
/root/.docker/config.json (建议从安全角度出发,每次登录后进行删除)
本地镜像容器的载入与载出
一般情况下,都是把镜像上传到镜像仓库中使用时下载。但如果无法上外网,也没有私有仓库如harbor等,那只能把镜像以文件形式下载到本地,或者使用内网拷贝上传到服务器,载入这个镜像就可以使用了
两种办法:
- 保存镜像
- 保存容器
保存镜像
docker save c20987f18b13 -o /home/mysql.tar
-o:指定输出位置
docker save mysql:5.7 > /home/mysql.tar

保存镜像成功
载入镜像: docker load -i mysql.tar

保存容器
docker export a43f4f969670 -o /home/mysql-export.tar

载入容器: docker import mysql-export.tar
可能出现的问题
输入正确的密码登录不进去阿里云镜像仓库

解决方法: 如果你的密码中包含数字,不要使用小键盘的数字输入,用字母上面一排的数字按键输入
执行sh prepare报错
Error happened in config validation…
ERROR:root:Error: The protocol is https but attribute ssl_cert is not set

解决方法: 将harbor.yml中的12-18行都注释掉:

之后重新执行sh prepare
登录harbor仓库报错
Error response from daemon: Get “https://10.24.200.10/v2/”: dial tcp 10.24.200.10:443: connect: no route to host

配置允许访问http仓库:/etc/docker/daemon.json
{
"registry-mirrors": ["https://5xok66d4.mirror.aliyuncs.com"],"insecure-registries":["http://10.24.200.10"]
}
之后重启docker服务: systemctl restart docker.service

登陆成功
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)