【docker】harbor容器化部署方案

Harbor 环境准备:

在能联网的机器上下载:

mkdir -p /opt/harbor-package
cd /opt/harbor-package

wget https://github.com/goharbor/harbor/releases/download/v2.15.0/harbor-offline-installer-v2.15.0.tgz

如果你的服务器能访问 GitHub,也可以直接在服务器上执行。

解压:

tar -zxvf harbor-offline-installer-v2.15.0.tgz -C /opt/
cd /opt/harbor

目录大概是:

/opt/harbor/
├── harbor.yml.tmpl
├── install.sh
├── prepare
├── common.sh
└── harbor.v2.15.0.tar.gz

3. 配置 harbor.yml 复制模板:

cd /opt/harbor
cp harbor.yml.tmpl harbor.yml

编辑 harbor.yml:

hostname: 192.168.1.3

http:
  port: 80

# https:
#   port: 443
#   certificate: /your/certificate/path
#   private_key: /your/private/key/path

harbor_admin_password: root123

database:
  password: root123

data_volume: /data/harbor

log:
  level: info
  local:
    location: /var/log/harbor

如果你不想占用 80 端口,也可以改成:

http:
  port: 8080

那访问地址就是:

http://192.168.1.3:8080

 

执行安装:

cd /opt/harbor
./install.sh

安装完成后查看容器 docker compose ps:

harbor-core
harbor-db
harbor-jobservice
harbor-log
harbor-nginx
harbor-portal
registry
redis

 

如图:

2. 开始安装harbor:修改完配置文件后,在的当前目录执行:

 ./install.sh

harbor服务就会根据当期目录下的 docker-compose.yml 开始下载依赖的镜像,检测并按照顺序依次启动各个服务。

3. 安装完成查看状态:

docker-compose ps

输出:

image

4.harbor的停止与启动

cd harbor
docker-compose down   #停止
docker-compose up -d  #启动

5.访问harbor首页:访问刚设置的 hostname 即可,默认是80端口,如果端口占用,可以去修改docker-compose.yml文件中,对应服务的端口映射。

登录密码:admin , 登录密码:Harbor12345。

 

如果 Harbor 是 HTTP,不是 HTTPS,那么所有要 docker login / docker push / docker pull 的客户端机器都要配置 Docker 的 insecure-registries。Harbor 官方文档明确说明,HTTP 部署时必须在 Docker daemon 里添加 --insecure-registrydaemon.json 配置,然后重启 Docker。

在客户端机器上,比如 stor01

mkdir -p /etc/docker

cat > /etc/docker/daemon.json <<'EOF'
{
  "insecure-registries": ["192.168.1.3"]
}
EOF

systemctl daemon-reload
systemctl restart docker

如果 Harbor 用的是 8080 端口:

{
  "insecure-registries": ["192.168.1.3:8080"]
}

然后测试登录:

docker login 192.168.1.3

输入:

Username: admin
Password: Harbor12345

推送镜像测试:

docker images

比如:

nginx:latest

先在 Harbor Web 页面创建一个项目,例如:

library

然后打tag:

docker tag nginx:latest 192.168.1.3/library/nginx:latest

推送:

docker push 192.168.1.3/library/nginx:latest

拉取测试:

docker pull 192.168.1.3/library/nginx:latest

如果你 Harbor 是 8080

docker login 192.168.1.3:8080
docker tag nginx:latest 192.168.1.3:8080/library/nginx:latest
docker push 192.168.1.3:8080/library/nginx:latest

 

 

 

参考资料

1. Docker搭建Harbor私有仓库

2. [基于harbor部署私有仓库] 4 推送镜像到harbor

3. Connecting to Harbor via HTTP

posted @ 2022-05-21 17:43  苏格拉底的落泪  阅读(371)  评论(0)    收藏  举报