乐趣区

关于docker:实操搭建企业级Harbor-v1106

前言:在 k8s 学习过程中,咱们还须要一个要害的工具就是 docker harbor,他是咱们本人得公有仓库,能够了解成阿里云镜像仓库。

装置 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/1uKm2…

提取码:【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

完结撒花。

退出移动版