【docker】搭建harbor私有镜像仓库

正文

Harbor 环境准备:

docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

1. docker 安装:docker安装与卸载

2. Docker-compose 安装:从 github 上下载它的二进制包进行安装:(https://github.com/docker/compose/releases)注意:要安装其他版本的 Compose,请替换 v2.3.4。

sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

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

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

 测试是否安装成功:

docker-compose --version

 

Harbor 服务搭建

1.本地下载Harbor安装文件、上传至服务器、解压文件、修改配置。从 【github harbor官网 release】 页面下载指定版本的安装包,拖到服务器/root/目录下进行解压:

tar -zxf harbor-offline-installer-v2.2.2-rc1.tgz 
cd harbor 
mv harbor.yml.tmpl harbor.yml
vim harbor.yml 

2. 开始安装harbor:修改完配置文件后,在的当前目录执行:

 ./install.sh

harbor服务就会根据当期目录下的 docker-compose.yml 开始下载依赖的镜像,检测并按照顺序依次启动各个服务。

3. 安装完成查看状态:

docker-compose ps

4.harbor的停止与启动

cd harbor
docker-compose down   #停止
docker-compose up -d  #启动

5.访问harbor首页:访问刚设置的 hostname 即可,默认是80端口,如果端口占用,可以去修改docker-compose.yml文件中,对应服务的端口映射。

登录密码:admin , 登录密码:Harbor12345。

 

通过 http 请求访问 harbor

如果安装harbor是通过http请求访问harnor镜像仓库,则 必须在 /etc/docker/daemon.json 增加字段 --insecure-registry,填写 如下:

{
  "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"],
  "insecure-registries": ["http://192.168.0.1:80"]
}

重启docker

systemctl restart docker

停止harbor

docker-compose down -v

重启harbor

docker-compose up -d

 

docker push 镜像:

登录镜像仓库:

[root@centos7 ~]# docker login 192.168.0.1:80
Username: admin
Password: 
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

推送harbor镜像的命令格式如下:

docker push 192.168.0.1:80/library/REPOSITORY[:TAG]

看命令就知道,docker push后面的其实就是打标记的时候标记。

命令如下:

[root@centos7 ~]# docker tag centos:latest 192.168.0.1:80/library/centos:latest
[root@centos7 ~]# docker push 192.168.0.1:80/library/nginx:latest
The push refers to repository [192.168.211.5:80/library/nginx]
fac15b2caa0c: Pushed 
f8bf5746ac5a: Pushed 
d11eedadbd34: Pushed 
797e583d8c50: Pushed 
bf9ce92e8516: Pushed 
d000633a5681: Pushed 
latest: digest: sha256:6fe11397c34b973f3c957f0da22b09b7f11a4802e1db47aef54c29e2813cc125 size: 1570

 

参考资料

1. Docker搭建Harbor私有仓库

2. [基于harbor部署私有仓库] 4 推送镜像到harbor

3. Connecting to Harbor via HTTP

posted @   苏格拉底的落泪  阅读(266)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2018-05-21 【C++编程】移动构造函数
2018-05-21 【Python】json编码和解码器
点击右上角即可分享
微信分享提示