前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Harbor搭建私有Docker仓库

Harbor搭建私有Docker仓库

作者头像
jwangkun
发布2021-12-23 16:26:13
9190
发布2021-12-23 16:26:13
举报
文章被收录于专栏:John Wong's BlogJohn Wong's Blog

安装环境:

环境

版本

cnetos

V 7.6

docker

V 19.03.9

harbor

V 2.3.3

docker-compose

V 2.0.1

1. 根据 harbor 的版本,安装对应版本的 docker 服务。

** 注意:** 不要直接安装 docker 服务,因为直接安装的 docker 服务可能与 harbor 版本对不上,导致安装失败。直接执行 harbor 安装,根据报错输出选择安装对应的 docker 服务。

** 注意:** 需要关闭 selinux

2. 根据 harbor 的版本,安装对应版本的 docker-compose 服务。

** 注意:** 不要直接安装 docker-compose 服务,因为直接安装的 docker-compose 服务可能与 harbor 版本对不上,导致安装失败。直接执行 harbor 安装,根据报错输出选择安装对应的 docker-compose 服务。

安装步骤如下:

2.1 去 github 手动下载文件:https://github.com/docker/compose/releases/tag/1.25.0-rc4

外链图片转存失败, 源站可能有防盗链机制, 建议将图片保存下来直接上传 (img-r7wjyuUq-1634181898388)(./1634123377060.png)

2.2 将文件上传到/usr/local/bin/ 目录下,重命名为 docker-compose ,修改文件权限:

代码语言:javascript
复制
# 重命名
mv docker-compose-linux-x86_64 docker-compose
# 修改文件权限
chmod +x /usr/local/bin/docker-compose

2.3 查看版本

代码语言:javascript
复制
docker-compose -v

3. 安装 harbor

3.1 解压安装包

代码语言:javascript
复制
tar -xvf harbor-offline-installer-v2.3.3.tgz -C /opt/

3.2 修改 harbor.yml.tmpl 文件

hostname : xxxxxxxxx 改成自己的 ip

https: 这一大项全部用 #注释掉,不然还需要搞证书

harbor_admin_password database->password 根据自己需要更改

3.3 重命名 harbor.yml.tmpl 文件为 harbor.yml

代码语言:javascript
复制
mv harbor.yml.tmpl harbor.yml  

3.4 创建 harbor 日志存放目录

mkdir -p /var/log/harbor

注意:如果出现报错 invalid mount config for type "bind": bind source path does not exist: /var/log/harbor/

3.5 执行安装

代码语言:javascript
复制
./install.sh 

./prepare

docker-compose up 

4. 登录访问

地址:http://192.168.1.200/

用户名 / 密码:admin/Harbor12345

成功访问如下:

主界面

5. 启动停止

  1. 进入到 harbor 目录下
代码语言:javascript
复制
cd /opt/harbor
  1. 启动
代码语言:javascript
复制
docker-compose start

2.停止

代码语言:javascript
复制
docker-compose stop

harbor 使用

1. 登录仓库

代码语言:javascript
复制
docker login 192.168.1.200 -u admin -p Harbor12345

2. 上传镜像

  1. 将构建好的镜像打上 “harbor 访问地址 / 项目” 前缀格式的标签
代码语言:javascript
复制
docker tag gateway:1.2 192.168.1.200/database/gateway:1.2
  1. 上传镜像到 harbor 仓库
代码语言:javascript
复制
docker push 192.168.1.200/database/gateway:1.2

3. 镜像拉取

代码语言:javascript
复制
docker pull 192.168.1.200/database/gateway:1.2

FAQ

1. 连接报错 “443”

Docker 自从 1.3.X 之后 docker registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是 HTTP 服务,所以与私有镜像交时出现以上错误。

解决方法一:

/etc/docker 下创建 daemon.json 文件,写入:

代码语言:javascript
复制
{
 "insecure-registries" : ["192.168.1.200"]
}

或者通过以下命令添加:

代码语言:javascript
复制
echo ‘{ “insecure-registries”:[“192.168.0.8:5000”] }’ > /etc/docker/daemon.json

重启 docker 服务

代码语言:javascript
复制
systemctl restart docker

解决方法二:

  1. 修改启动文件
代码语言:javascript
复制
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry www.harbor2.com
#修改此处并且后边添加IP地址或者域名

2、重新启动 docker

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker

下一篇: Kubernetes Volume(持久化卷)→

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 根据 harbor 的版本,安装对应版本的 docker 服务。
  • 2. 根据 harbor 的版本,安装对应版本的 docker-compose 服务。
  • 3. 安装 harbor
  • 4. 登录访问
  • 5. 启动停止
  • harbor 使用
    • 1. 登录仓库
      • 2. 上传镜像
        • 3. 镜像拉取
        • FAQ
          • 1. 连接报错 “443”
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档