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/
0%