通过docker-compose搭建本地Harbor镜像, 构建一个属于自己的镜像管理仓库。
安装docker、docker-compose环境
安装docker环境:
安装:yum intsall -y docker
启动:service docker start
安装docker-compose环境:
1、下载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 curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2、给docker-compose执行权限
sudo chmod +x /usr/local/bin/docker-compose
3、查看安装版本
docker-compose --version
harbor镜像安装
下载harbor镜像安装包:
下载安装:wget https://storage.googleapis.com/harbor-releases/release-1.10.0/harbor-offline-installer-v1.10.1-rc1.tgz
解压安装包:tar zxf harbor-offline-installer-v1.10.1-rc1.tgz
修改配置文件:
安装包目录如下:
修改harbor.yml
hostname: xwdr.harbor.com # 配置监听地址,也可以是域名
port: 8888 # 配置监听端口
harbor_admin_password: Harbor12345 # 配置admin用户的密码
data_volume: /data/harbor # 配置数据仓库
#https: # https模块, 可以先屏蔽此模块,安装完环境后,再配置https证书
# https port for harbor, default is 443
#port: 443
# The path of cert and key files for nginx
#certificate: /data/cert/xwdr.harbor.com.crt
#private_key: /data/cert/xwdr.harbor.com.key
安装harbor:
执行命令:./install.sh, 出现以下命令则表示安装成功
Creating harbor-jobservice ...
Creating nginx ...
✔ ----Harbor has been installed and started successfully.----
harbor的https证书配置可参考: yeasy.gitbook.io/docker_prac…
访问harbor管理页面
访问地址:http://192.168.0.110:8888/ 用户:admin 密码:Harbor12345
https访问:https://192.168.0.110/
添加harbor用户、项目, 方便在docker环境、k8s环境中使用私有镜像仓库。
添加harbor用户
创建用户
设置管理员
添加harbor项目
添加项目成员
k8s worker节点配置私有镜像仓库Harbor
docker配置私有仓库
registry-mirrors为公共仓库,insecure-registries私服仓库
重启docker服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
连接私有harbor
修改tag别名:docker tag mysql:latest xwdr.harbor.com/test/mysql_t:v1.0.2
登录harbor: docker login xwdr.harbor.com
推送tag: docker push xwdr.harbor.com/test/mysql_t:v1.0.2
拉取tag: docker pull xwdr.harbor.com/test/mysql_t:v1.0.2
镜像推送成功如下图:
配置containerd配置文件
注意:k8s-1.20发布之后,默认使用Container Runtime Interface(CRI)代替doker作为底层容器运行时。 因此原来在docker中配置的个人仓库环境不再起作用,导致k8s配置pods时拉取镜像失败。
执行命令vi /etc/containerd/config.toml, 配置如下:
insecure_skip_verify = true 表示跳过证书认证
重启containerd服务即可:systemctl restart containerd