docker 部署Harbor 仓库

安装docker,docker-compose

安装docker,docker-compose说明: https://www.jianshu.com/p/b13c4484df49

$ cat /etc/docker/daemon.json
{
    "graph":"/docker",
    "registry-mirrors": [
        "https://mirror.ccs.tencentyun.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com"
    ],
    "insecure-registries": [
        "https://harbor.test.com"
    ]
}
$ systemctl daemon-reload
$ systemctl restart docker.service

Harbor 部署

下载地址:https://github.com/goharbor/harbor/releases

# 解压
$ tar xvf harbor-offline-installer-v2.2.0.tgz -C /data/
$ cd /data/harbor

复制配置文件并修改,这里修改了服务器地址和admin管理账号的登录密码
提前准备好证书,可以去阿里云免费申请,或者https://freessl.cn/ 申请 ,存放在/data/cert/

$ cp harbor.yml.tmpl harbor.yml
$ vim harbor.yml
hostname: harbor.test.com
harbor_admin_password: 12345678

certificate: /data/cert/***.crt
private_key: /data/cert/***.key
# 修改存储位置(避免磁盘不够用
secretkey_path = /data/harbor

这里使用harbor.test.com作为harbor服务器域名。
因为是本地使用,这里我们自己在hosts文件里面加上。
为了后续访问方便,本地机器最后也在hosts文件里添加一下。

$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.11.33 harbor.test.com

运行安装脚本

# 这里会检查Docker和DockerCompose的版本是否符合要求
# 没有问题的话就会开始拉取镜像并启动了
# 运行install.sh脚本的时候会自动加载harbor.yml文件中的配置
$ ./install.sh
$ docker-compose ps
      Name                     Command                  State                                          Ports
------------------------------------------------------------------------------------------------------------------------------------------------
harbor-core         /harbor/entrypoint.sh            Up (healthy)
harbor-db           /docker-entrypoint.sh 96 13      Up (healthy)
harbor-jobservice   /harbor/entrypoint.sh            Up (healthy)
harbor-log          /bin/sh -c /usr/local/bin/ ...   Up (healthy)   127.0.0.1:1514->10514/tcp
harbor-portal       nginx -g daemon off;             Up (healthy)
nginx               nginx -g daemon off;             Up (healthy)   0.0.0.0:80->8080/tcp,:::80->8080/tcp, 0.0.0.0:443->8443/tcp,:::443->8443/tcp
redis               redis-server /etc/redis.conf     Up (healthy)
registry            /home/harbor/entrypoint.sh       Up (healthy)
registryctl         /home/harbor/start.sh            Up (healthy)

访问https://harbor.test.com
登录:admin 密码:12345678(harbor.yaml 里边harbor_admin_password: 12345678)
创建个项目testops

image.png

Docker 推送命令

在项目中标记镜像:
$ docker tag SOURCE_IMAGE[:TAG] harbor.test.com/testops/REPOSITORY[:TAG]
推送镜像到当前项目:
$ docker push harbor.test.com/testops/REPOSITORY[:TAG]

$ docker tag webtest:0.0.1 harbor.test.com/testops/webtest:0.0.1
$ docker push harbor.test.com/testops/webtest:0.0.1

Helm 推送命令

在项目中标记 chart
$ helm chart save CHART_PATH harbor.test.com/testops/REPOSITORY[:TAG]
推送 chart 到当前项目
$ helm chart push harbor.test.com/testops/REPOSITORY[:TAG]
image.png
$ docker images
REPOSITORY                           TAG       IMAGE ID       CREATED         SIZE
webtest                              0.0.1     97f71e21e020   9 minutes ago   82.8MB
harbor.test.com/testops/webtest   0.0.1     97f71e21e020   9 minutes ago   82.8MB
$ docker rmi -f 97f71e21e020   
$ docker images|grep webtest

docker 拉取harbor仓库镜像

$ docker pull harbor.test.com/testops/webtest:0.0.1

结束 :blush:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容