docker学习笔记(五):harbor仓库搭建与简单应用

harbor私有仓库

简介

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

搭建私有仓库的软件

  1. harbor
  2. nexus
  3. docker register,官方提供的

下面我将介绍搭建harbor私有仓库以及进行简单的应用

搭建harbor私有仓库

1.官网下载harbor,docker-compose命令行插件,上传到linux

Releases · goharbor/harbor (github.com)

复制代码
[root@docker ~]# mkdir /myharbor
[root@docker ~]# cd /myharbor/
[root@docker myharbor]# ls
[root@docker myharbor]# ls
docker-compose  harbor-offline-installer-v2.5.3.tgz

2.将docker-compose命令行插件赋予可执行权限并加入环境变量,解压harbor软件包

复制代码
[root@docker myharbor]# chmod +x docker-compose 
[root@docker myharbor]# ls
docker-compose  harbor-offline-installer-v2.5.3.tgz
[root@docker myharbor]# mv docker-compose /usr/bin/
[root@docker myharbor]# tar xf harbor-offline-installer-v2.5.3.tgz 

3.进入解压后的harbor文件夹,修改harbor.yml.tmpl为harbor.yml

复制代码
[root@docker myharbor]# cd harbor
[root@docker harbor]# ls
common.sh  harbor.v2.5.3.tar.gz  harbor.yml.tmpl  install.sh  LICENSE  prepare
[root@docker harbor]# mv harbor.yml.tmpl harbor.yml

4.修改harbor.yml配置文件

复制代码
[root@docker harbor]# vim harbor.yml 

hostname: 192.168.31.129

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 8089

5.安装

复制代码
[root@docker harbor]# ./install.sh

6.网页访问

7.登录harbor

默认账号admin

密码Harbor12345

8.新建项目,新建用户并设置为管理员

9.本机上传镜像到harbor私有仓库myrepo

准备上传本机的nginx:latest这个镜像

修改/etc/docker/daemon.json文件,重启docker服务
复制代码
[root@docker harbor]# vim /etc/docker/daemon.json 

{
  "registry-mirrors": ["https://52152375.mirror.aliyuncs.com"],
  "insecure-registries":["192.168.31.129:8089"]
}
[root@docker harbor]# systemctl daemon-reload
[root@docker harbor]# systemctl restart docker

登录harbor

复制代码
[root@docker harbor]# docker login 192.168.31.129:8089
Username: felix
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网页上新建的用户和密码

标记镜像

复制代码
[root@docker harbor]# docker tag nginx:latest 192.168.31.129:8089/myrepo/nginx:latest

上传镜像到myrepo私有仓库

复制代码
[root@docker harbor]# docker push 192.168.31.129:8089/myrepo/nginx

网页查看镜像

发现了上传的镜像!

10.本机拉取harbor私有仓库的镜像
删除原来的nginx:latest镜像
复制代码
[root@docker harbor]# docker rmi nginx:latest

从私有仓库拉取之前上传的nginx:latest镜像

复制代码
[root@docker harbor]# docker pull 192.168.31.129:8089/myrepo/nginx

查看镜像

复制代码
[root@docker harbor]# docker images

测试成功!

出现的问题
docker login登陆不上harbor

  1. 账号密码可能输入错误
  2. 建议关闭selinux、firewalld
  3. 修改/etc/docker/daemon.json,加入 "insecure-registries":["192.168.31.129:8089"]--你自己搭建的私有仓库,然后记得刷新daemon和docker服务
  4. 可以尝试重启以下harbor

harbor通过./install安装失败

注释掉harbor.yml配置文件里的https功能,不启用

相关推荐
m0_6786933313 分钟前
深度学习笔记29-RNN实现阿尔茨海默病诊断(Pytorch)
笔记·rnn·深度学习
每次的天空21 分钟前
Android-自定义View的实战学习总结
android·学习·kotlin·音视频
重庆小透明27 分钟前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
hunjinYang40 分钟前
Tomcat镜像实战:掌握Dockerfile的编写以及发布项目
docker·tomcat
好奇的菜鸟1 小时前
Docker 配置项详解与示例
运维·docker·容器
sigmoidAndRELU1 小时前
读Vista
笔记·stable diffusion·世界模型
Sincerelyplz2 小时前
【Temproal】快速了解Temproal的核心概念以及使用
笔记·后端·开源
许白掰3 小时前
【stm32】HAL库开发——CubeMX配置RTC,单片机工作模式和看门狗
stm32·单片机·嵌入式硬件·学习·实时音视频
future14123 小时前
C#学习日记
开发语言·学习·c#
Yo_Becky3 小时前
【PyTorch】PyTorch预训练模型缓存位置迁移,也可拓展应用于其他文件的迁移
人工智能·pytorch·经验分享·笔记·python·程序人生·其他