一:摘要概述
Docker制作的应用镜像需要进行保存,Docker自身提供的仓库仅仅满足基本的存储等行为。对于鉴权、UI等方面支持薄弱,市面上比较流行的私有镜像仓库就是使用Harbor。本文将详细介绍Harbor的安装、HTTP的支持、基本的镜像上传下载操作,其余更多高级功能留待自行了解
二:软件安装
Harbor对于目标机器配置、相关软件版本都有着不同的要求,具体将会在下面一一描述
2.1 硬件要求
资源名称 | 最低要求 | 推荐配置 |
---|---|---|
CPU | 2CPU | 4CPU |
Mem | 4GB | 8GB |
Disk | 40GB | 160GB |
2.2 软件要求
软件名称 | 版本要求 |
---|---|
Docker Engine | 17.06.0-ce+ |
Docker Compose | 1.18.0 |
OpenSSL | 最新版本 |
2.3 相关软件安装
- Docker的安装请转至另外的相关文章:Docker离线安装
- DockerCompose的安装如下:当然也可以离线下载好docker-compose文件后移动到
/usr/local/bin/
目录下
// 在线安装下载
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.4 Harbor安装
github上官方已经说得很清楚相关的安装流程,这里赘述一下,无非就是在线下载亦或是离线下载后解压缩,修改对应的配置文件后启动提供脚本即可。个人建议第一次安装修改一下hostname和http的port参数即可,当然UI登录的密码也可以修改
三:HTTP支持
这点很重要,Docker默认支持HTTPS。要想Docker登录使用HTTP协议必须修改daemon.json文件,内容如下:第一个是以前配置的阿里云镜像仓库
{
"registry-mirrors": [
"https://w9o4etz3.mirror.aliyuncs.com"
],
"insecure-registries": [
"Harbor服务IP:发布的端口"
]
}
修改完以后重启Docker服务,输入如下命令进行登录
// Dokcer登录Harbor命令
docker login Harbor服务IP地址:HTTP暴露端口
四:上传下载镜像
通过浏览器UI界面登录Harbor以后可以创建项目,如果想将镜像发布到Harbor中必须首先创建对应的项目,比如当前创建了一个harbor_test的项目
// 假设Docker中有一个redis镜像,将其传到Harbor中
// 第一个给镜像打标签
docker tag redis:latest Harbor服务IP地址:端口号/Harbor创建的项目名称/任意镜像名字:版本
// 上传镜像
docker push 上面打好标签的镜像
// 下载
docker pull Harbor服务地址:端口/项目名称/镜像名称:版本