作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:
Docker基本情况
Docker基本命令
Dockerfile
Docker镜像
Docker仓库(本小节属于)
Docker原理
Docker网络&存储&日志
Docker-Compose
Docker番外篇
我们前面讲了Docker默认的镜像仓库registry,不能删除,也没有鉴权。也讲了Harbor依赖的compose,所以今天这小节我们就来讲讲Harbor。
Harbor 是一个开源的容器镜像仓库,由 VMware 创建并捐赠给 CNCF(云原生计算基金会),它主要由VMware中国团队开发,它扩展了 Docker Distribution(Docker 的官方镜像仓库),增加了企业级的功能,如安全、审计和多租户支持。Harbor 旨在帮助企业用户更安全地存储和管理 Docker 镜像,并且简化镜像的部署流程。
1.下载harbor
离线包较大,国内环境不易下载成功,可私信我这里获取,下面的演示是基于在线安装包。
bash
# 在线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-online-installer-v2.8.3.tgz
tar -xvf harbor-online-installer-v2.8.3.tgz
cd harbor
# 离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.8.3/harbor-offline-installer-v2.8.3.tgz
tar -xvf harbor-offline-installer-v2.8.3.tgz
cd harbor
2.编辑配置文件
php
mv harbor.yml.tmpl harbor.yml
vi harbor.yml
#更换自己的ip地址或者域名
hostname: 192.168.31.208
#注释https,如果打算用http
#https:
# https port for harbor, default is 443
#port: 443
#其他根据需要修改
harbor_admin_password //默认管理员密码
data_volume //镜像数据目录
3.提前准备镜像文件
当然这里要求先安装docker和compose
bash
#这个地址不保证一致可用
docker pull m.daocloud.io/docker.io/goharbor/prepare:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-log:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/registry-photon:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-registryctl:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-db:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-core:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-portal:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/harbor-jobservice:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/redis-photon:v2.8.3
docker pull m.daocloud.io/docker.io/goharbor/nginx-photon:v2.8.3
4.执行安装脚本
bash
#这个脚本的目的是生成生成compose文件
#因为默认这个镜像被墙的原因,所以这里下载镜像会失败
docker tag m.daocloud.io/docker.io/goharbor/prepare:v2.8.3 goharbor/prepare:v2.8.3
./install
#替换镜像地址sed -i 's/goharbor/m.daocloud.io\/docker.io\/goharbor/g' docker-compose.yml
docker compose up -d
5.访问web页面
具体以下现场ip为准,默认的账号是admin,密码是默认或者你自己修改过的harbor.yml里面密码。
运维小路
一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!
关注微信公众号《运维小路》获取更多内容。