k8s(三)—harbor仓库搭建
一、 Harbor安装环境要求
软件环境:
docker v17.06以上版本
docker-compose v1.18.0以上版本
本例中服务器操作系统为ubuntu18.04
二、Harbor服务器搭建
1、下载Harbor安装文件并解压
从GitHub上 https://github.com/goharbor/harbor/releases 查看当前可用的harbor版本,一般选择最新稳定版
下载并解压:
# wget https://github.com/goharbor/harbor/releases/download/v1.10.6/harbor-offline-installer-v1.10.6.tgz
# tar -zxvf harbor-offline-installer-v1.10.6.tgz
2、harbor.yml配置文件修改
主要修改如下内容:
hostname: 服务器IP或域名
http:
port: 端口号
harbor_admin_password: Harbor12345 Harbor超级管理员密码
database:
password: root123 数据库管理员密码
data_volume: /data 配置harbor数据文件,也就是未来镜像文件的存储位置
# 同时注释如下内容,默认启用http,而不是https证书除非你有配置https证书
# https related config
# 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.yml参数描述说明》
3、启动安装Harbor
# ./install.sh
出现如下提示,则表示安装成功:
注:安装完后,安装目录多出一个docker-compose.yml文件,这也是基于harbor.yml生成的供docker-compose调用创建容器的服务编排文件
通过配置中设置的IP或域名+端口,即可访问harbor管理控制台,如果端口占用,可以去安装目录下harbor.yml文件中,对应服务的端口映射
三、配置自启动
解决docker重启或者服务器重启后,某些harbor依赖容器没有正常启动
# vim /lib/systemd/system/harbor.service
写入以下内容,注意{{ harbor_path }替换成实际的harbor docker-compose.yml文件所在的目录,docker-compose也要写绝对路径
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f {{ harbor_path }}/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f {{ harbor_path }/docker-compose.yml down
[Install]
WantedBy=multi-user.target
启动harbor服务
# systemctl enable harbor
# systemctl start harbor
四、排错记录
1、docker login报错:Error response from daemon: Get https://192.168.10.10/v2/: x509: certificate signed by unknown authority
解决:
# vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.10.10:8001"]
}
2、docker login 报错:Error saving credentials: error storing credentials - err: exit status 1, out: `Failed to execute child process “dbus-launch” (No such file or directory)
解决:
# apt install gnupg2 pass