一、安装docker
yum install -y docker # 安装docker
systemctl start docker # 运行docker服务
systemctl enable docker # docker开机自启动
二、安装docker-compose
#下载docker-compose二进制文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose --version
三、安装harbor
1、下载harbor离线安装包:
wget https://github.com/goharbor/harbor/releases/download/v2.0.5/harbor-offline-installer-v2.0.5.tgz
2、解压:
tar -zxvf harbor-offline-installer-v2.0.5.tgz
3、修改harbor.yml:
cd harbor
cp harbor.yml.tmpl harbor.yml
修改内容:(127.0.0.1换成自己机器ip)
hostname: 127.0.0.1 #主机ip
http:
port: 8089 #端口(可以使用默认端口)
#注释掉https配置:
#https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
4、执行prepare生产harbor配置:
./prepare
5、安装harbor(带helm仓库,可选):
./install.sh --with-clair --with-chartmuseum
安装harbor(不带helm仓库,可选):
./install.sh
安装完成
四、使用
1、修改docker仓库 /etc/docker/daemon.json,添加harbor仓库地址
(127.0.0.1换成自己机器ip)
{
"insecure-registries" : ["127.0.0.1:8089"]
}
然后重启docker
systemctl daemon-reload
systemctl restart docker
注:如需修改docker的镜像存放目录,可添加"graph":"/home/docker",不修改可忽略
此操作:
(127.0.0.1换成自己机器ip)
{
"graph":"/home/docker",
"insecure-registries" : ["127.0.0.1:8089"]
}
2、添加helm仓库(不需要helm可忽略):
安装helm 客户端
wget https://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gz
tar -xvf helm-v3.5.4-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/helm
helm help #验证
(127.0.0.1换成自己机器ip)
helm repo add --username=admin --password=Harbor12345 test http://127.0.0.1:8089/chartrepo/library
helm repo list #查看是否添加成功
3、将testuser用户加入docker组下(非root用户使用docker才执行,可跳过):
groupadd docker #新建docker用户组
gpasswd -a testuser docker
如果不生效就重启docker服务
systemctl restart docker
4、上传、拉取镜像
(127.0.0.1换成自己机器ip)
docker push 127.0.0.1:8089/library/镜像名:版本
docker pull 127.0.0.1:8089/library/镜像名:版本
1、测试先拉取nginx镜像做测试
docker pull nginx
2、然后给nginx打tag
docker tag 62d49f9bab67 192.168.75.134:8089/library/nginx:1.1
docker images查看打好tag的镜像
3、然后push镜像
docker push 192.168.75.134:8089/library/nginx:1.1
提示没认证,先在服务器登录后再push
docker login 192.168.75.134:8089
账号:admin
密码:Harbor12345
然后就能push成功了。
harbor地址:http://127.0.0.1:8089
账号:admin
密码:Harbor12345
能够看到我们提交的nginx镜像了:
5、常用管理命令
启动harbor: docker-compose up -d
停止harbor: docker-compose stop
重启harbor: docker-compose restart
查看harbor状态: docker-compose ps
docker仓库地址:
(127.0.0.1换成自己机器ip)
127.0.0.1:8089/library
helm仓库(不需要helm可忽略):
http://127.0.0.1:8089/chartrepo/library
helm push安装(不需要helm可忽略):
helm plugin install https://github.com/chartmuseum/helm-push
上传chart(不需要helm可忽略)
helmpush mychart(chart名) test(helm仓库名)
harbor仓库页面
http://127.0.0.1:8089