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里面密码。

运维小路

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

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

相关推荐
好奇的菜鸟34 分钟前
WSL上的Ubuntu 24.04 (Noble Numbat) 配置阿里云镜像源,提速软件安装
linux·ubuntu·阿里云
海棠蚀omo1 小时前
Linux信号保存的核心:未决信号集与阻塞信号集——探秘内核如何实现信号的阻塞、暂存与派发
linux·操作系统
芝麻开门-新起点1 小时前
数据脱敏与自动化技术融合:大规模GIS数据安全高效处理方案
运维·自动化
行走正道1 小时前
【探索实战】跨云应用分发自动化实战:基于Kurator的统一交付体系深度解析
运维·自动化·wpf·kurator·跨云分发
傲世(C/C++,Linux)2 小时前
Linux系统编程——TCP服务器
linux·服务器·tcp/ip
杨云龙UP2 小时前
SQL Server 备份异地同步 + 清理脚本
运维·服务器·数据库·sql·mysql·sqlserver
q***48413 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
橘子真甜~3 小时前
C/C++ Linux网络编程8 - epoll + ET Reactor TCP服务器
linux·服务器·网络
万变不离其宗_83 小时前
centos 手动安装redis
linux·redis·centos
_lst_3 小时前
linux进程状态
linux·运维·服务器