ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于 Harbor 搭建 Docker 私有镜像仓库

2021-06-29 10:30:32  阅读:246  来源: 互联网

标签:compose Harbor yml harbor https 镜像 Docker com docker


安装

docker

curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
systemctl enable docker && systemctl start docker

镜像加速,配置国内镜像源,可以解决大部分拉取镜像失败问题

cat > /etc/docker/daemon.json << \EOF
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}
EOF

docker compose

# 这里的 [x.x.x] 替换成 github releases 的对应版本
$ sudo curl -L https://github.com/docker/compose/releases/download/[x.x.x]/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 国内用户可以使用以下方式加快下载
$ sudo curl -L https://download.fastgit.org/docker/compose/releases/download/[x.x.x]/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose

生成证书(可选)

当使用 https 访问时需要配置证书。

省略。。。

harbor

下载离线安装包

yum install -y wget

# 这里的 [x.x.x] 替换成 github releases 的对应版本
wget https://github.com/goharbor/harbor/releases/download/v[x.x.x]/harbor-offline-installer-v[x.x.x].tgz

tar -zxvf harbor-offline-installer-v[x.x.x].tgz

修改 harbor.yml 配置文件

cd harbor

cp harbor.yml.tmpl harbor.yml

vi harbor.yml

harbor.yml 具体修改内容,这里默认使用 http 没使用 https。

diff harbor.yml.tmpl harbor.yml

# 修改 hostname 为 Harbor 私有仓库主机的 IP 地址,在我的 Harbor 虚拟机中 IP 地址为 10.121.218.174
< hostname: reg.mydomain.com
---
> hostname: 10.121.218.174

# 修改 Harbor web 端口为 8090
<   port: 80
---
>   port: 8090

# 将 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
---
> #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_password 字段设置管理员账户 admin 的密码
harbor_admin_password: Harbor12345

安装 harbor

./prepare

./install.sh

重新安装:当修改 harbor.yml 后,我们需要执行 ./prepare,让配置能够得到更新。当然,历史存在的容器 container 也需要清理,除了使用 docker rm 进行清理外,还可以使用 docker system prune 进行清理。

使用

web 访问

在浏览器上输入 10.121.218.174:8090 访问 Harbor 的 web UI 登录界面

账户:admin,密码:Harbor12345

其他机器使用该仓库

由于使用的是 http 方式,需要添加私有仓库地址和端口到 docker 仓库可信队列

cat > /etc/docker/daemon.json << \EOF
{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "insecure-registries": ["10.121.218.174:8090"]
}
EOF

使用 admin 账户登录私有仓库

docker login 10.121.218.174:8090 -u admin -p Harbor12345

从公共库拉取 busybox:latest 镜像,打包成新镜像(格式 ip:port/project/image),推送到私有仓库

docker pull busybox

docker tag busybox:latest 10.121.218.174:8090/library/busybox:latest

docker push 10.121.218.174:8090/library/busybox:latest

推送成功后就可以在 Harbor 的 web 界面上看到在 library 项目下新增了一个镜像

标签:compose,Harbor,yml,harbor,https,镜像,Docker,com,docker
来源: https://blog.csdn.net/zhanllej1/article/details/118327295

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有