乐趣区

关于java:使用Harbor搭建Docker私有仓库

我最新最全的文章都在 南瓜慢说 www.pkslow.com,欢送大家拜访!

1 开源的仓库管理工具 Harbor

Harbor是一个由 CNCF 托管的开源的 Docker 镜像仓库管理工具,咱们能够通过它疾速的建设起本人的公有仓库。当然,搭建公有仓库的抉择很多,如 Docker 官网提供的 registry 镜像或者 Nexus 等。但 Harbor 不失为一种不错的抉择。

2 装置

Harbor的装置形式也很多,如通过命令行装置、Helm装置等,本文演示通过命令行的脚本装置。

2.1 装置 Docker 和 Docker-compose

首先 Docker 是要装置的,Harbor是通过一堆容器来启动的。另外还须要装置 docker-compose,并对版本有肯定要求,这里通过在Rancher 的资源库找到软件包,配置一下即可:

装置Docker-compose

wget http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod a+x /usr/local/bin/docker-compose

2.2 装置 Harbor

2.2.1 下载解压

先到 GitHub Release 下载对应的包,有 offlineonline两种,offline比拟大,蕴含的对应的依赖;online没有蕴含对应的依赖组件,装置的时候还须要进行下载。这里应用 online 的包,因为从 Github 下载货色也不见得有多快。

下载:

wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz

解压:

tar zxvf harbor-online-installer-v2.1.1.tgz

2.2.2 配置并装置

筹备配置文件:

cp harbor.yml.tmpl harbor.yml

批改配置:vi harbor.yml,次要把 https 去掉,并配置服务器地址和明码。要害配置有:

hostname: 8.134.18.166
http:
  port: 8088
# https related config
#https:
  # https port for harbor, default is 443
  # port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path
harbor_admin_password: Harbor12345

改完配置后就开始执行装置:

./install.sh

装置胜利会有提醒。

3 简略应用

3.1 用 admin 创立用户

拜访:http://8.134.18.166:8088/,即可登陆应用,用户名为admin,明码默认为Harbor12345

治理用户 admin 权限太高,要创立一个普通用户:

创立用户的信息:

3.2 新用户创立我的项目

退出admin,用新创建的用户登陆,而后创立一个我的项目,用于寄存镜像:

我的项目创立胜利:

3.3 Docker 连贯仓库

3.3.1 批改 docker 配置并重启

在一台有 docker 的机器上配置daemon.json,减少"insecure-registries": ["http://8.134.18.166:8088"],

vi /etc/docker/daemon.json

配置后内容如下:

{"insecure-registries": ["http://8.134.18.166:8088"],
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {"max-size": "100m"},
  "storage-driver": "overlay2"
}

重启Docker

systemctl restart docker

3.3.2 登陆与推送镜像

登陆新建的仓库:

$ docker login http://8.134.18.166:8088 --username pkslow --password Pk123456
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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

给其中一个镜像打个tag

docker tag nginx 8.134.18.166:8088/pkslow/nginx:latest

上传镜像到仓库:

$ docker push 8.134.18.166:8088/pkslow/nginx:latest
The push refers to repository [8.134.18.166:8088/pkslow/nginx]
cdd1d8ebeb06: Pushed 
fe08d9d9f185: Pushed 
280ddd108a0a: Pushed 
f14cffae5c1a: Pushed 
d0fe97fa8b8c: Pushed 
latest: digest: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 size: 1362

到网页检查一下,曾经有对应的镜像了:

拉取就不演示了。


欢送关注微信公众号 <南瓜慢说>,将继续为你更新 …

多读书,多分享;多写作,多整顿。

退出移动版