1.安装docker
yum install docker
[root@localhost ~]# vi /etc/docker/daemon.json
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker
{
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
2.安装docker-compose
[root@localhost ~]# sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 423 100 423 0 0 344 0 0:00:01 0:00:01 --:--:-- 344
100 16.2M 100 16.2M 0 0 1763k 0 0:00:09 0:00:09 --:--:-- 1895k
[root@localhost ~]# sudo chmod +x /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose --version
docker-compose version 1.25.1, build a82fef07
3.配置yml文件
先解压cd再编辑
tar -xzf harbor-offline-installer-v1.9.2.tgz
4.初始化
5.安装
报错版本过低
rpm -qa | grep docker
全部给删了
yum remove docker-xxx
下载最新docker,最后重启docker并设置自动启动即可
curl -fsSL https://get.docker.com/ | sh
使用配置的ip端口进行访问
admin
Harbor12345
创建一个项目
关机后启动
docker-compose start
手动上传镜像到私服
docker load < ./导出的镜像tar包
可以查看到对应的镜像
docker images | grep 镜像名称
现在对它重新打标签
docker tag 镜像id 镜像仓库ip和端口/harbor中的项目名称/新镜像名称:版本
推送
docker push 镜像仓库ip和端口/harbor中的项目名称/新镜像名称:版本
此时会有提示
[root@k8s-master01 my_k8s]# docker push 192.168.67.199:8888/nacos-mysql
The push refers to repository [192.168.67.199:8888/nacos-mysql]
Get https://192.168.67.199:8888/v2/: http: server gave HTTP response to HTTPS client
默认使用https我们需要配置一下
vi /etc/docker/daemon.json
insecure-registries 可以使用http进行连接
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
"insecure-registries":["http://192.168.67.199:8888"]
}
systemctl daemon-reload
systemctl restart docker
再次执行推送命令,会提示访问资源拒绝
应该先要进行登陆
docker login -u 用户名 -p 密码 服务ip端口
再次推送
k8s中使用Secret来访问私服
首先创建Secret
kubectl create secret docker-registry SECRETE名称 --docker-server=192.168.67.199:8888 --docker-username=admin --docker-password=Harbor12345
其中
--docker-server: 仓库地址
--docker-username: 仓库登陆账号
--docker-password: 仓库登陆密码
然后再配置文件中指定拉去镜像时候使用什么SECRET
imagePullSecrets:
- name: secret名称