Docker-Compose部署Harbor
目录
docker-compose部署harbor
官网下载 harbor 安装包
https://github.com/goharbor/harbor/releases
下载成功后并上传至服务器
解压 & 安装
tar -zxvf harbor-offline-installer-v2.3.1.tgz
修改配置文件
cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
修改如下配置:
预检查
./prepare
结果:
执行安装脚本:
./install.sh
报错:Error response from daemon: invalid mount config for type “bind”: bind source path does not exist: /var/log/harbor/
创建这个目录:
mkdir /var/log/harbor/
结果:
访问:101.34.xxx.xxx:8081 初始账号/密码 : admin/Harbor12345
harbor 启动,停止,重启
# 进入 目录:/usr/local/docker/harbor/harbor
docker-compose start
docker-compose stop
docker-compose restart
配置docker客户端
vim /etc/docker/daemon.json
添加一下内容:
{
"registry-mirrors": ["https://o268vo1s.mirror.aliyuncs.com"],
"insecure-registries": ["101.34.xxx.xxx:8081"]
}
重启docker服务
systemctl daemon-reload
systemctl restart docker
检查配置是否生效
docker info
结果:
创建 Harbor 项目&用户
Harbor 上传镜像
这里以我的项目为例:登录 39.106.xxx.xxx 服务器
docker images
查看已经存在的docker镜像
推送 scms 镜像到私有仓库
# 在项目中标记镜像 这里使用image id 或则 docker ps -a 的 scms1.0
docker tag scms1.0 101.34.xxx.xxx:8081/jenkins/scms:1.0.0
# 登录 Harbor
docker login 101.34.xxx.xxx:8081 -u admin -p Harbor12345
# 推送镜像到项目
docker push 101.34.xxx.xxx:8081/jenkins/scms:1.0.0
结果:
登录 harbor管理控制台
拉取命令:
# 先登录再拉取
docker login 101.34.xxx.xxx:8081 -u admin -p Harbor12345
docker pull 101.34.xxx.xxx:8081/jenkins/scms:1.0.0
docker push 很慢,走全局代理的方式:
# 创建目录
mkdir -p /etc/systemd/system/docker.service.d
# 创建文件
vi /etc/systemd/system/docker.service.d/http-proxy.conf
# 写入配置 内网harbor ip+端口
[Service]
Environment="HTTP_PROXY=http://172.30.86.239:9002/"
# 刷新更改
systemctl daemon-reload && systemctl restart docker
# 验证是否生效
systemctl show --property=Environment docker
>>> Environment=HTTP_PROXY=http://172.30.86.239:9002/