一、Harbor介绍
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能
二、环境准备 (1台centos7的虚拟机)
Harbor的所有服务组件都是在Docker中部署的,所以官方安装使用Docker-compose快速部署,所以需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,所以就要求Docker-ce版本不小于17.06.0,Docker-compose版本大于等于1.6.0
1、安装docker-ce 及基础环境
1:yum install -y yum-utils device-mapper-persistent-data lvm2
2:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3: yum list docker-ce.x86_64 --showduplicates |sort -r
4: yum install docker-ce-17.09.1.ce -y
2、安装docker-compose
1、curl -L "https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
或者
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.3.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2、 chmod +x /usr/local/bin/docker-compose
3、 docker-compose --version
4、 docker-compose up
三、安装harbor (下载较慢)
1、下载harbor离线安装包
1、wget https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-offline-installer-v2.4.2.tgz
2、tar -zxvf harbor-offline-installer-v2.4.2.tgz #解压离线安装包
2、配置harbor
1、cd harbor
2、cp harbor.yml.tmpl harbor.yml
3、vim harbor.yml
修改内容:hostname = 10.130.77.28 #修改harbor的启动ip为你虚拟机的ip
harbor_admin_password = admin@123 #修改harbor的admin用户的密码
3、启动harbor
bash install.sh
4、docker-compose ps 查看
四、访问harbor(我这里是http://192.168.68.137/)
1、新建个项目目录
2、命令行登陆harbor ( )
注意:第一次登录一般都会报错
Error response from daemon: Get "https://192.168.68.137/v2/": dial tcp 10.130.77.48:443: connect: no route to host
[root@node-3 ~]# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.68.137
修改配置文件,ExecStart之后添加
重启docker
systemctl daemon-reload
systemctl restart docker
3、测试上传镜像到harbor
root@host_137 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
3f4ca61aafcd: Pull complete
50c68654b16f: Pull complete
3ed295c083ec: Pull complete
40b838968eea: Pull complete
88d3ab68332d: Pull complete
5f63362a3fa3: Pull complete
Digest: sha256:0047b729188a15da49380d9506d65959cce6d40291ccfb4e039f5dc7efd33286
Status: Downloaded newer image for nginx:latest
[root@host_137 ~]# docker docker tag nginx:latest 192.168.68.137/harbor/nginx:latest
docker: 'docker' is not a docker command.
See 'docker --help'
[root@host_137 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1403e55ab369 5 days ago 142MB
goharbor/harbor-exporter v2.7.0 69796d5ea472 11 days ago 96.5MB
goharbor/chartmuseum-photon v2.7.0 3a1128c43ada 11 days ago 227MB
goharbor/redis-photon v2.7.0 cc91f43eb370 11 days ago 154MB
goharbor/trivy-adapter-photon v2.7.0 acf7683e6266 11 days ago 431MB
goharbor/notary-server-photon v2.7.0 cc32c079c5e8 11 days ago 113MB
goharbor/notary-signer-photon v2.7.0 1c7e9e9a0c92 11 days ago 110MB
goharbor/harbor-registryctl v2.7.0 6573a396157f 11 days ago 139MB
goharbor/registry-photon v2.7.0 4d015df21516 11 days ago 78.1MB
goharbor/nginx-photon v2.7.0 5f2878db2a82 11 days ago 154MB
goharbor/harbor-log v2.7.0 6b4a9a2855bb 11 days ago 161MB
goharbor/harbor-jobservice v2.7.0 cdde5030ac74 11 days ago 252MB
goharbor/harbor-core v2.7.0 f1aaf647100d 11 days ago 215MB
goharbor/harbor-portal v2.7.0 ea51148e87b6 11 days ago 162MB
goharbor/harbor-db v2.7.0 fff87d4d50e4 11 days ago 195MB
goharbor/prepare v2.7.0 f0f57240ce77 11 days ago 164MB
[root@host_137 ~]# docker tag nginx:latest 192.168.68.137/harbor/nginx:latest
[root@host_137 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.68.137/harbor/nginx latest 1403e55ab369 5 days ago 142MB
nginx latest 1403e55ab369 5 days ago 142MB
goharbor/harbor-exporter v2.7.0 69796d5ea472 11 days ago 96.5MB
goharbor/chartmuseum-photon v2.7.0 3a1128c43ada 11 days ago 227MB
goharbor/redis-photon v2.7.0 cc91f43eb370 11 days ago 154MB
goharbor/trivy-adapter-photon v2.7.0 acf7683e6266 11 days ago 431MB
goharbor/notary-server-photon v2.7.0 cc32c079c5e8 11 days ago 113MB
goharbor/notary-signer-photon v2.7.0 1c7e9e9a0c92 11 days ago 110MB
goharbor/harbor-registryctl v2.7.0 6573a396157f 11 days ago 139MB
goharbor/registry-photon v2.7.0 4d015df21516 11 days ago 78.1MB
goharbor/nginx-photon v2.7.0 5f2878db2a82 11 days ago 154MB
goharbor/harbor-log v2.7.0 6b4a9a2855bb 11 days ago 161MB
goharbor/harbor-jobservice v2.7.0 cdde5030ac74 11 days ago 252MB
goharbor/harbor-core v2.7.0 f1aaf647100d 11 days ago 215MB
goharbor/harbor-portal v2.7.0 ea51148e87b6 11 days ago 162MB
goharbor/harbor-db v2.7.0 fff87d4d50e4 11 days ago 195MB
goharbor/prepare v2.7.0 f0f57240ce77 11 days ago 164MB
[root@host_137 ~]# docker push 192.168.68.137/harbor/nginx
The push refers to a repository [192.168.68.137/harbor/nginx]
c72d75f45e5b: Layer already exists
9a0ef04f57f5: Layer already exists
d13aea24d2cb: Layer already exists
2b3eec357807: Layer already exists
2dadbc36c170: Layer already exists
8a70d251b653: Layer already exists
latest: digest: sha256:9a821cadb1b13cb782ec66445325045b2213459008a41c72d8d87cde94b33c8c size: 1570
[root@host_137 ~]#
查看镜像仓库
测试拉取镜像 (先将本地的镜像删除)文章来源:https://www.toymoban.com/news/detail-470853.html
[root@host_137 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1403e55ab369 5 days ago 142MB
192.168.68.137/harbor/nginx latest 1403e55ab369 5 days ago 142MB
goharbor/harbor-exporter v2.7.0 69796d5ea472 11 days ago 96.5MB
goharbor/chartmuseum-photon v2.7.0 3a1128c43ada 11 days ago 227MB
goharbor/redis-photon v2.7.0 cc91f43eb370 11 days ago 154MB
goharbor/trivy-adapter-photon v2.7.0 acf7683e6266 11 days ago 431MB
goharbor/notary-server-photon v2.7.0 cc32c079c5e8 11 days ago 113MB
goharbor/notary-signer-photon v2.7.0 1c7e9e9a0c92 11 days ago 110MB
goharbor/harbor-registryctl v2.7.0 6573a396157f 11 days ago 139MB
goharbor/registry-photon v2.7.0 4d015df21516 11 days ago 78.1MB
goharbor/nginx-photon v2.7.0 5f2878db2a82 11 days ago 154MB
goharbor/harbor-log v2.7.0 6b4a9a2855bb 11 days ago 161MB
goharbor/harbor-jobservice v2.7.0 cdde5030ac74 11 days ago 252MB
goharbor/harbor-core v2.7.0 f1aaf647100d 11 days ago 215MB
goharbor/harbor-portal v2.7.0 ea51148e87b6 11 days ago 162MB
goharbor/harbor-db v2.7.0 fff87d4d50e4 11 days ago 195MB
goharbor/prepare v2.7.0 f0f57240ce77 11 days ago 164MB
[root@host_137 ~]# docker rmi 192.168.68.137/harbor/nginx
Untagged: 192.168.68.137/harbor/nginx:latest
Untagged: 192.168.68.137/harbor/nginx@sha256:9a821cadb1b13cb782ec66445325045b2213459008a41c72d8d87cde94b33c8c
[root@host_137 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1403e55ab369 5 days ago 142MB
goharbor/harbor-exporter v2.7.0 69796d5ea472 11 days ago 96.5MB
goharbor/chartmuseum-photon v2.7.0 3a1128c43ada 11 days ago 227MB
goharbor/redis-photon v2.7.0 cc91f43eb370 11 days ago 154MB
goharbor/trivy-adapter-photon v2.7.0 acf7683e6266 11 days ago 431MB
goharbor/notary-server-photon v2.7.0 cc32c079c5e8 11 days ago 113MB
goharbor/notary-signer-photon v2.7.0 1c7e9e9a0c92 11 days ago 110MB
goharbor/harbor-registryctl v2.7.0 6573a396157f 11 days ago 139MB
goharbor/registry-photon v2.7.0 4d015df21516 11 days ago 78.1MB
goharbor/nginx-photon v2.7.0 5f2878db2a82 11 days ago 154MB
goharbor/harbor-log v2.7.0 6b4a9a2855bb 11 days ago 161MB
goharbor/harbor-jobservice v2.7.0 cdde5030ac74 11 days ago 252MB
goharbor/harbor-core v2.7.0 f1aaf647100d 11 days ago 215MB
goharbor/harbor-portal v2.7.0 ea51148e87b6 11 days ago 162MB
goharbor/harbor-db v2.7.0 fff87d4d50e4 11 days ago 195MB
goharbor/prepare v2.7.0 f0f57240ce77 11 days ago 164MB
[root@host_137 ~]# docker pull 192.168.68.137/harbor/nginx
Using default tag: latest
latest: Pulling from harbor/nginx
Digest: sha256:9a821cadb1b13cb782ec66445325045b2213459008a41c72d8d87cde94b33c8c
Status: Downloaded newer image for 192.168.68.137/harbor/nginx:latest
[root@host_137 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 1403e55ab369 5 days ago 142MB
192.168.68.137/harbor/nginx latest 1403e55ab369 5 days ago 142MB
goharbor/harbor-exporter v2.7.0 69796d5ea472 11 days ago 96.5MB
goharbor/chartmuseum-photon v2.7.0 3a1128c43ada 11 days ago 227MB
goharbor/redis-photon v2.7.0 cc91f43eb370 11 days ago 154MB
goharbor/trivy-adapter-photon v2.7.0 acf7683e6266 11 days ago 431MB
goharbor/notary-server-photon v2.7.0 cc32c079c5e8 11 days ago 113MB
goharbor/notary-signer-photon v2.7.0 1c7e9e9a0c92 11 days ago 110MB
goharbor/harbor-registryctl v2.7.0 6573a396157f 11 days ago 139MB
goharbor/registry-photon v2.7.0 4d015df21516 11 days ago 78.1MB
goharbor/nginx-photon v2.7.0 5f2878db2a82 11 days ago 154MB
goharbor/harbor-log v2.7.0 6b4a9a2855bb 11 days ago 161MB
goharbor/harbor-jobservice v2.7.0 cdde5030ac74 11 days ago 252MB
goharbor/harbor-core v2.7.0 f1aaf647100d 11 days ago 215MB
goharbor/harbor-portal v2.7.0 ea51148e87b6 11 days ago 162MB
goharbor/harbor-db v2.7.0 fff87d4d50e4 11 days ago 195MB
goharbor/prepare v2.7.0 f0f57240ce77 11 days ago 164MB
[root@host_137 ~]#
文章来源地址https://www.toymoban.com/news/detail-470853.html
到了这里,关于centos7搭建本地harbor仓库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!