当前位置: 首页 > article >正文

安装使用docker harbor并推送镜像到仓库

1.概要
通过上一章节的讲解,我们基本了解了docker的操作命令,在文章的最后我们成功的推送一个镜像到DockerHub的镜像仓库。从流程上说,操作过程可以说很完美,但是整个推送过程消耗的时间太长,我们消耗了大量时间在访问境外的镜像网站上,这无法满足我们实际应用中快速推送、快速部署的要求,我们今天就自己在内网搭建一个docker仓库(以下简称为私服),减少外网交互。
搭建私服需要安装三个组件:Docker、Docker-Compose、Harbor,其中Docker负责基础操作,Docker-Compose负责线程编排、Harbor提供可视化的界面。

2.搭建docker
安装docker

curl https://mirrors.aliyun.com/repo/Centos-7.repo >> CentOS-Base-Aliyun.repo

mv CentOS-Base-Aliyun.repo /etc/yum.repos.d/

yum -y install yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum clean 

yum makecache fast

yum -y install docker-ce

systemctl start docker

3.搭建docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

//目录授权
sudo chmod +x /usr/local/bin/docker-compose

//验证结果
docker-compose --version

4.搭建Harbor
将本地的harbor文件上传到服务器然后解压
配置harbor.cfg

hostname = [“访问IP”]
harbor_admin_password = [“登录用户密码”]
ui_url_protocol = http #注意不是https

5.修改访问端口

需要修改两个文件docker-compose.yml和common/templates/registry/config.yml

在这里插入图片描述
在这里插入图片描述
6.启动项目
在harbor根目录下执行 ./prepare 更新配置文件中的引用文件,如果没有错误提示,则证明执行成功。
在harbor根目录下执行 ./install.sh,如下图证明启动成功。
在这里插入图片描述
输入地址 http://127.0.0.1:9001 就可以访问harbor的web项目了。帐号默认为admin,密码是我们上面章节介绍修改配置文件的 harbor_admin_password = [“登录用户密码”]。
7.客户端改造并推送镜像到私服
7.1服务端创建用户和项目
harbor->[系统管理]->[用户管理],创建一个新用户。xiaozeng
harbor->[项目]->[新建项目]->[自定项目](我们这里的项目名称叫 abcd
)。

harbor->[项目]->spbatc]->[成员](添加相应成员,我们这里的成员是 xiaozeng)。

修改客户端文件
vi /etc/docker/daemon.json

在这里插入图片描述
重启docker
root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl restart docker

Vi /usr/lib/systemd/system/docker.service
修改一下这个文件否则报错

截图
在这里插入图片描述
这个是仓库的ip+端口

都修改完重启docker和仓库

然后用docker login ip:9001访问(这是我的ip正确的是自己仓库的就行)

推送镜像:

docker push ip:9001/abcd/harbor-db:1.0.0

ip:9001这个是仓库地址

abcd这个是仓库里面的项目名称
共同组成整个镜像名称。


http://www.kler.cn/a/373557.html

相关文章:

  • Linux特种文件系统--tmpfs文件系统前传:虚拟内存子系统
  • postgresql杀掉数据库连接阻塞
  • SSH登录介绍
  • 斐波那契时间序列,精准捕捉市场拐点 MT4免费公式源码!
  • 关于Android Studio Koala Feature Drop | 2024.1.2下载不了插件的解决办法
  • 一七一、React性能优化方式
  • 3个方法将苹果手机照片备份至苹果电脑
  • python:ADB通过包名打开应用
  • 华为OD机试真题-任务最优调度-2024年OD统一考试(E卷)
  • 我自己的资料整理导引(二):知识循环笔记法
  • 从零开始学链表:数据结构的基础与应用
  • 如何防止U盘盗取电脑数据?
  • 架构师备考-系统分析与设计(结构化方法)
  • 字符串、字节流与十六进制字符串的转换:Python、C 和 Go 的实现对比20241029
  • 【AI时代】普通程序员想投身AI大模型行业,该如何快速入局
  • 2024 10.25 判断一个矩阵是否对称
  • Centos安装配置Jenkins
  • Mybatis使用和原理
  • matplotlilb画图
  • js实现异步和延时
  • 隨便 20241028 ISR 和 OSR 在 Kafka 中的详细解析
  • Nginx部署前端需要了解的知识
  • EfficientNet-B6模型实现ISIC皮肤镜图像数据集分类
  • 整合SSM框架(2)
  • 雷赛DMC5X10系列脉冲运动控制卡——机械原点和工作原点原理
  • BGP 及 4+ 的一些特性及配置笔记