实操搭建企业级Harbor v1.10.6

前言:在k8s学习过程中,我们还需要一个关键的工具就是docker harbor,他是我们自己得私有仓库,可以理解成阿里云镜像仓库。

本章我们将学会仓库的搭建,dockerfile 构建仓库。

安装docker

我们先了解docker-io,docker-ce,docker-ee区别。

  • docker-io是以前早期的版本,centos7 yum install docker -y默认 安装的是docker-io,最新版是 1.13。

  • docker-ce是社区版本,简单理解是免费使用,提供小企业与小的IT团队使用

  • docker-ee的企业版,适用于企业级开发,同样也适用于开发、分发和运行商务级别的应用的IT 团队。付费。

在这里docker harbor不能通使用yum进行安装docker,否则会报错下边错误,我们需要安装docker-ce

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

[Step 0]: checking if docker is installed ...
✖ Need to upgrade docker package to 17.06.0+.

如果你的服务器yum方式安装的docker,请用下边方式进行卸载。

yum remove docker docker-common docker-selinux docker-engine -y

重新安装docker-ce

#1、安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2

#紧接着配置一个稳定(stable)的仓库、仓库配置会保存到/etc/yum.repos.d/docker-ce.repo文件中
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#更新Yum安装的相关Docke软件包&安装Docker CE
yum update -y && yum install docker-ce -y

#2、设置docker daemon文件
#创建/etc/docker目录
mkdir /etc/docker -p
#更新daemon.json文件
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors":["https://pee6w651.mirror.aliyuncs.com"],
"insecure-registries": ["https://zjdk.docker.com"]
}
EOF
#注意: 一定注意编码问题,出现错误:查看命令:journalctl -amu  docker 即可发现错误

#创建,存储docker配置文件
mkdir -p /etc/systemd/system/docker.service.d

#3、重新加载 重启docker服务 开启自启动
systemctl daemon-reload && systemctl restart docker && systemctl enable docker

安装docker compose

安装需要的资料docker harbor和compose

https://pan.baidu.com/s/1uKm2tJ4IOujEGTTnpdAP3A

提取码:【zjdk】

#在线下载docker-compose ,harbor需要借助docker-compose安装
#安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
#复制官网上的上述命令
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

#赋予该命令执行权限
chmod u+x /usr/local/bin/docker-compose  
#查看其版本信息
docker-compose -version   
docker-compose version 1.24.1, build 4667896b

##############一般下载肯可能会有问题,我们可以采用离线安装,以后遇到类似的都可以采用离线安装)#########
#离线安装
#上传本地文件,资料已经准备,在本地文件夹
#把本地文件拷贝到/usr/local/bin目录下
mv docker-compose /usr/local/bin/
#授权:可以执行
chmod 755 /usr/local/bin/docker-compose
#查询docker版本 会看到对应版本号
docker-compose -version

安装docker harbor

我们可以通过官网可以下载自己喜欢的版本。

#追加ip:hostname到每k8s一台机器节点;
echo "192.168.70.131 zjdk.docker.com" >> /etc/hosts

#查询harbor服务节点 /etc/hosts
192.168.70.128 k8s-master01
192.168.70.129 k8s-node01
192.168.70.130 k8s-node02
192.168.70.131 zjdk.docker.com

#你自己的windows系统中C:\Windows\System32\drivers\etc 
#后期使用域名访问harbor
192.168.70.131 zjdk.docker.com


#将下载的安装包解压到指定目录
tar zxf  harbor-offline-installer-v1.10.6.tgz -C /usr/local
#切换至解压后的目录中
cd /usr/local/harbor/    
#编辑这个配置文件
vim harbor.yml    

..............#省略部分内容

#将hostname更改为本机IP域名 
hostname = zjdk.docker.com

#这行指定的是登录harbor的登录名及密码
#默认用户为“admin”,密码为“Harbor12345”
harbor_admin_password = Harbor12345    

# 证书配置
  certificate: /data/cert/server.crt
  private_key: /data/cert/server.key


..............#省略部分内容

# 证书安装
请参考我上一篇文章

#执行自带的安装脚本,安装完毕,浏览器即可访问
./install.sh 

完结撒花。

新建项目

1.首先登录 用户名称admin 密码 Harbor12345 (如果你没有在配置文件修改的话)

2.创建项目
在这里插入图片描述

上传镜像

我们可以去到我们k8s master或者node上进行退送镜像实验

1.先登录

[root@k8s-master01 ~]# docker login https://zjdk.docker.com
Username: admin
Password: 
Error response from daemon: Get https://zjdk.docker.com/v1/users/: x509: certificate is valid for cer.com, not zjdk.docker.com

上述问题是因为我们没有在daemon.json文件种配置私仓地址。我们手动添加一下这个。如果是mac电脑除了命令行要加,你的docker客户端种也要添加。

  "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"],
  "insecure-registries": ["https://zjdk.docker.com"] 

在这里插入图片描述
重新加载docker,并重启

systemctl daemon-reload && systemctl restart docker

在次登录

[root@k8s-master01 ~]# docker login https://zjdk.docker.com
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

温馨提示:如果你第二天机器是使用yum安装的docker而不是docker-ce安装,那么你即使改了daemon.json也有可能报 x509;解决办法安装上边的方式卸载重新安装docker-ce。
对于这种重新安装的docker可能会出现的docker images显示镜像但是镜像没有任何作用,使用的时候提示如下

Error response from daemon: No such image: nginx:latest;
# 删除/var/lib/docker/image/overlay2/imagedb/content/sha256目录下相应的镜像文件即可
rm -rf /var/lib/docker/image/overlay2/imagedb/content/sha256/对应的镜像

2.给镜像打tag

# 你的镜像:你的版本
# docker tag SOURCE_IMAGE[:TAG] zjdk.docker.com/zjdk/IMAGE[:TAG]
[root@k8s-master01 sha256]# docker tag nginx zjdk.docker.com/zjdk/nginx:v1
[root@k8s-master01 sha256]# docker images
REPOSITORY                   TAG       IMAGE ID       CREATED      SIZE
nginx                        latest    519e12e2a84a   3 days ago   133MB
zjdk.docker.com/zjdk/nginx   v1        519e12e2a84a   3 days ago   133MB

3.将镜像推送到远程仓库

# docker push zjdk.docker.com/zjdk/IMAGE[:TAG]
[root@k8s-master01 sha256]# docker push zjdk.docker.com/zjdk/nginx:v1
The push refers to repository [zjdk.docker.com/zjdk/nginx]
7703406462db: Pushed 
962b263b732e: Pushed 
097985a72f15: Pushed 
a433210552af: Pushed 
47ba6c704819: Pushed 
7e718b9c0c8c: Pushed 
v1: digest: sha256:8e2bc905e7d89b592beabb816913bab7894afdd067efcb5a1d2f7bd54e3853e0 size: 1570

在这里插入图片描述

完结撒花。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值