安装 harbor
harbor 依赖 docker docker-compose 详细请参见 centos7 yum 安装 docker-ce & docker-compose
安装 docker && docker-compose
# 安装 docker 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 docker 阿里云 repo 源
yum-config-manager --add-repohttp://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 docker
yum install docker-ce docker-ce-cli containerd.io
docker -v
# 配置 docker 163 国内加速镜像
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
# 启动 docker && 开机自动启动
systemctl start docker && systemctl enable docker
# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 其中 docker-compose 需要用到 epel 源 我们使用阿里的 epel 源
wget -O /etc/yum.repos.d/epel-aliyun.repo https://mirrors.aliyun.com/repo/epel-7.repo
yum clean all && yum makecache
yum install -y docker-compose
获取官方离线安装包 并解包到 /docker/harbor
(国内网络需要自行解决访问问题)
wget -O /docker/harbor-offline-installer-v1.9.1.tgz https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz && \
cd /docker && tar xvf harbor-offline-installer-v1.9.1.tgz
harbor/harbor.v1.9.1.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/harbor.yml
修改 harbor/harbor.yml 文件
执行安装脚本
sudo install.sh
安装完成会自动启动
因为 Harbor 是基于 docker-compose 运行的 我们可以通过 docker-compose 来管理 Harbor 服务
启动完成 访问 服务器域名/ip 端口
前面 harbor.yml 配置文件中配置的
输入 admin 密码 点击登陆
登陆后 harbor 系统主界面
测试 docker 私服
我们点击新建项目
输入项目名称
新建项目成功
点击刚刚新建的项目名称 进入项目管理
首先我们更换一台电脑 登陆 harbor
如果登陆连接被拒绝如图 这是因为 docker 默认强制使用 443 端口来建立加密连接 而我们只配置了 http 80 代理 没有配置 443 及证书 也没有 配置外部的 nginx 443 代理
我们可以将 harbor ip 添加到 /etc/docker/daemon.json 的 insecure-registries 中 来解决
修改完成重启 docker
重新登陆 harbor
登陆成功后 以后再次登陆都不会再要求输入账号密码了
push 测试
我们可以看到已经 push 成功
并且 harbor 管理页面对应的项目里面也有我们刚刚推送的镜像
pull 测试
我们先删除本地镜像
然后从harbor 重新 pull 下来
DONE
停止 harbor 服务
# 进入到 harbor 安装目录有 docker-compose.yml 文件的目录中执行
docker-compose down
启动 harbor 服务
# 如果有修改配置文件
先停止服务后 再在 harbor 安装目录(/docker/harbor)执行 否则修改配置不生效
sudo install.sh
# 如果没有修改配置文件
# 在 harbor 安装目录(/docker/harbor)执行即可启动 harbor 服务
docker-compose up -d