1 部署 Harbor
注意:docker、docker-compose、Harbor的版本是否适配,这里使用的版本如下表:
Docker版本 | Docker Compose版本 | Harbor版本 |
---|---|---|
v19.09.8 | v1.29.2 | v2.8.2 |
1.1 安装 docker-compose
# 下载 docker-compose 1.29.2 版本
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -oin/docker-compose
# 赋予执行权限
chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
1.2 部署 Harbor
1.2.1 下载或上传 Harbor 安装包
# 下载 Harbor 离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
# 解压
tar zxvf harbor-offline-installer-v2.8.2.tgz -C /usr/local/
# 进入 harbor 相关目录
cd /usr/local/harbor/
1.2.2 配置 Harbor
# 复制示例文件
cp harbor.yml.tmpl harbor.yml
# 编辑配置文件
vi harbor.yml
修改harbor.yml 内容如下:
# 配置 Harbor 访问地址
hostname: 192.168.56.100
# 配置 HTTP (端口默认是80,这里避免被占用改为8088)
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 8088
# 这里不使用 HTTPS,暂时注释(建议生产使用HTTPS)
#https:
# https port for harbor, default is 443
#port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
# 配置 Harbor 管理员初始密码,默认用户名/密码是 admin/Harbor12345
harbor_admin_password: Harbor12345
1.2.3 配置 Docker 信任非 HTTPS 仓库
(1)编辑 Docker 配置文件,添加 Harbor 地址到信任列表
vi /etc/docker/daemon.json
添加内容如下:
{
"insecure-registries": ["192.168.56.100:8088"]
}
(2)重启 Docker 服务
# 重新加载 docker 配置文件
systemctl daemon-reload
# 重启 docker
systemctl restart docker
1.2.4 启动 Harbor
# 修改了harbor.yml配置文件,需重新应用配置
./prepare
# 启动
./install.sh
出现以下内容,说明重新应用配置成功:
出现以下内容,说明 Harbor 启动成功:
1.2.5 停止启动 Harbor 命令
# 停止 Harbor
docker-compose down
# 启动 Harbor(-d 表示后台运行)
docker-compose up -d
1.2.6 查看 Harbor 服务状态
docker-compose ps
1.2.7 创建一个新的项目
(1)浏览器访问 http://192.168.56.100:8088/ 并使用默认管理员用户/密码 admin/Harbor12345 登录 Harbor UI 界面;
(2)输入用户名/密码登录后,点击 新建项目。
(3)填写项目名称,项目配额限制为-1表示没有上限。
1.2.8 上传镜像到 Harbor
(1)Docker 登录 Harbor
docker login http://192.168.56.100:8088
# 或
docker login -u admin -p Harbor12345 http://192.168.56.100:8088
(2) 将镜像打标签
# 格式:docker tag 镜像:标签 仓库IP/项目名称/镜像名:标签
docker tag mysql:5.6 192.168.56.100:8088/gulimall/mysql:v1
(3)上传镜像到 Harbor
docker push 192.168.56.100:8088/gulimall/mysql:v1