Docker---部署企业级镜像仓库Docker Harbor

目录


部署企业级镜像仓库Docker Harbor

1. 部署docker-compose

官方网址:https://github.com/goharbor/harbor/releases
Docker---部署企业级镜像仓库Docker Harbor

# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# chmod +x /usr/local/bin/docker-compose

2. 部署私有镜像仓库Harbor

(1)下载离线包并解压:

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

tar -xf harbor-offline-installer-v2.1.3.tgz

(2)配置Harbor配置文件

cd harbor

mv harbor.yml.tmpl  harbor.yml

修改 harbor.yml 文件中的 hostname 的值为 自己宿主机的主机名或者 IP

关闭 https,注释掉如下几行:
Docker---部署企业级镜像仓库Docker Harbor
执行 install.sh 脚本
Docker---部署企业级镜像仓库Docker Harbor
成功后如下图:
Docker---部署企业级镜像仓库Docker Harbor
假如出现端口冲突的错误,修改 harbor.yml 文件中的如下内容:

http:
  port: 宿主机的端口, 此端口将会映射到容器内的 8080 端口

假如你采用了非 80 端口,需要修改 harbor.yml 文件中的如下内容:

external_url: http://192.168.111.129:8010
#这个表示当你使用的额外的代理时候,就需要打开此选项,并且设置为正确的 url 和端口号

3. 浏览器访问测试

浏览器输入本机地址http://192.168.111.129/,也可输入加端口的地址
Docker---部署企业级镜像仓库Docker Harbor
查看默认密码:

cat harbor.yml

Docker---部署企业级镜像仓库Docker Harbor

4. Harbor使用

(1)更改语言

Docker---部署企业级镜像仓库Docker Harbor

(2)创建仓库

Docker---部署企业级镜像仓库Docker Harbor
Docker---部署企业级镜像仓库Docker Harbor
Docker---部署企业级镜像仓库Docker Harbor

(3)创建用户

Docker---部署企业级镜像仓库Docker Harbor
Docker---部署企业级镜像仓库Docker Harbor
设置用户管理员权限:
Docker---部署企业级镜像仓库Docker Harbor

5. Harbor测试

上传:

由于我们没有使用 HTTPS,所以需要在 上传镜像的服务器上设置如下内容:

{"insecure-registries": ["192.168.111.129:80"]}

假如 daemon.json 文件中有其他配置内容,比如有关于镜像加速器的配置,这个只需要把
“insecure-registries”:[“192.168.111.129:80”]
追加到配置文件中的大括号中即可,注意两个配置中间写上应用逗号。

{
  "registry-mirrors": ["https://ut9q2ix5.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.111.129:80"]
}

配置完成后,重启Docker

[root@bogon harbor]# systemctl daemon-reload
[root@bogon harbor]# systemctl restart docker

登录Harbor仓库

[root@bogon harbor]# docker login 192.168.111.129:80
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

修改标签和推送

docker tag SOURCE_IMAGE[:TAG] 仓库地址:仓库端口/项目名称/REPOSITORY[:TAG]
docker tag nginx:alpine 192.168.111.129:80/shanhai/nginx:alpine
[root@bogon harbor]# docker push 192.168.111.129:80/shanhai/192.168.111.129:80/shanhai/nginx:alpine
invalid reference format
[root@bogon harbor]# docker push 192.168.111.129:80/nginx:alpine
The push refers to repository [192.168.111.129:80/nginx]
An image does not exist locally with the tag: 192.168.111.129:80/nginx
[root@bogon harbor]# docker push 192.168.111.129/shanhai/192.168.111.129:80/shanhai/nginx:alpine
invalid reference format
[root@bogon harbor]# docker push 192.168.111.129:80/shanhai/nginx:alpine
The push refers to repository [192.168.111.129:80/shanhai/nginx]
4689e8eca613: Pushed 
3480549413ea: Pushed 
3c369314e003: Pushed 
4531e200ac8d: Pushed 
ed3fe3f2b59f: Pushed 
b2d5eeeaba3a: Pushed 
alpine: digest: sha256:480395b7be07df06368c93469df41343c1e6285f5b37d387b5a17f2e8708a2a3 size: 1568

在web界面中查看镜像是否被上传到仓库中
Docker---部署企业级镜像仓库Docker Harbor

上一篇:第四章 部署K8s前准备工作


下一篇:使用Harbor搭建私有仓库