安装docker,docker-compose
安装docker,docker-compose说明: //www.greatytc.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
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]
$ 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: