安装教程见[CentOS 7安装docker、docker-compose](./[04]CentOS 7安装docker、docker-compose.md)
查看docker版本
docker -v
查看docker-compose版本
docker-compose -v
docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求
你也可以直接去官网https://github.com/goharbor/harbor/releases下载,然后传进服务器进行解压
cd /opt
# 下载
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
# 解压
tar -xvf harbor-offline-installer-v2.5.3.tgz
cd harbor
mv harbor.yml.tmpl harbor.yml
vim harbor.yml
# 编辑/etc/docker/daemon.json,增加insecure-registries配置
vim /etc/docker/daemon.json
添加http registries
写docker私服的ip和端口,这里即:ip写自己机器的ip即可,端口填写配置文件中设置的端口
{
"insecure-registries": ["http://47.105.39.189:8635"]
}
重启docker
systemctl daemon-reload
systemctl restart docker
sh install.sh
请确保前面第二步设置的端口(这里即:8635)已开放
由此可知,harbor运行正常
提示:docker是通过tag来知道镜像应该往哪里推送的,所以我们要推送前,需要先打对应的tag
查看已有镜像
[root@iZm5ea6hfv6pmn30ook2l7Z ~]# docker images
nginx latest 88736fe82739 2 weeks ago 142MB
打tag,标明docker镜像仓库地址
harbor的tag格式要求为:
{仓库地址}:{仓库端口}/{harbor项目名}/{短镜像名}:{标签}
实际上,即:
{仓库地址}:{仓库端口}/{harbor项目名}/{短镜像名}
作为了一个镜像全名注:安装harbor后,harbor自带了一个默认的项目library,如果不想往这个项目里面推送镜像的话,可以自己在harbor上创建项目,然后打tag时,对应位置换成该项目名即可
[root@iZm5ea6hfv6pmn30ook2l7Z ~]# docker tag nginx:latest 47.105.39.189:8635/library/nginx:latest
[root@iZm5ea6hfv6pmn30ook2l7Z ~]#
[root@iZm5ea6hfv6pmn30ook2l7Z ~]#
[root@iZm5ea6hfv6pmn30ook2l7Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
47.105.39.189:8635/library/nginx latest 88736fe82739 2 weeks ago 142MB
nginx latest 88736fe82739 2 weeks ago 142MB
登录harbor
# 登出:docker logout
# docker私服如果是http的. 那么登录前,请确保当前机器已进行第三步,ip和端口写docker私服的ip和端口
docker login -u admin -p dengshuai 47.105.39.189:8635
注:根据日志提示可以将密码写到一个文件/etc/docker_passwd
中。使用cat /etc/docker_passwd | docker login --username 用户名 --password-stdin
进行登录
推送镜像
[root@iZm5ea6hfv6pmn30ook2l7Z harbor]# docker push 47.105.39.189:8635/library/nginx:latest
The push refers to repository [47.105.39.189:8635/library/nginx]
6cffb086835a: Pushed
e2d75d87993c: Pushed
5a5bafd53f76: Pushed
f86e88a471f4: Pushed
f7ed3797e296: Pushed
ec4a38999118: Pushed
latest: digest: sha256:6ad8394ad31b269b563566998fd80a8f259e8decf16e807f8310ecc10c687385 size: 1570
[root@iZm5ea6hfv6pmn30ook2l7Z harbor]#
在harbor管理界面查看镜像
由此可见,成功了!
当推送到harbor的镜像与之前harbor上已有的镜像一样时(连tag也一样),之前的镜像的该tag会被清除,冲突的tag会出现在最新推送上来的镜像上,之前的镜像就变成了无tag的垃圾镜像,建议清理
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。