Docker-Harbor部署指南

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而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里面密码。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

相关推荐
.生产的驴2 分钟前
1Panel实战|SpringColud微服务部署生产环境一键部署Docker+Nacos+MySQL 数据定时备份 控制台 安全高效易维护
服务器·后端·mysql·spring cloud·docker·微服务·信息可视化
牛奶咖啡1310 分钟前
DevOps自动化运维实践_搭建UEFI网络引导的自动安装Ubuntu20及其更高版本系统
运维·自动化·devops·cloud-init·cloud-init自动应答·ubuntu24系统自动化安装·uefi网络引导自动安装部署
A.A呐31 分钟前
【Linux第十八章】线程
linux
wanhengidc31 分钟前
云手机与模拟器的关系
大数据·运维·服务器·分布式·智能手机
Exquisite.1 小时前
Docker容器技术
docker·容器·eureka
ai产品老杨1 小时前
异构计算时代的架构突围:基于 Docker 的 AI 视频平台如何实现 X86/ARM 与 GPU/NPU 全兼容(源码交付)
人工智能·docker·架构
fresh hacker1 小时前
【Linux系统】通用的“系统排障”
linux·运维·服务器·网络·php
编程之升级打怪1 小时前
Linux系统难用的原因
linux
STKingA11 小时前
Win11 WSL2+Ubuntu开发环境配置全攻略
linux·运维·ubuntu
原来是猿2 小时前
关于【进程池阻塞 + 子进程未回收问题】
linux·服务器·c++