欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

搭建harbor镜像仓库

程序员文章站 2022-04-03 21:16:35
...
  1. 安装docker环境,并启动
  2. 安装docker-compose
    (1)下载docker-compose
curl -L https://github.com/docker/compose/releases/download/1.13.0
/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 

(2)对二进制文件赋可执行权限

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

(3)测试docker-compose是否安装成功

docker-compose --version

有显示版本信息则安装成功;
3.下载Harbor安装文件
(1)创建目录mkdir -p /harbor
(2)进入目录cd /harbor/
(3)下载

wget https://github.com/vmware/harbor/releases/download/v1.1.2/
harbor-online-installer-v1.1.2.tgz

(4)查看 ls
显示harbor-online-installer-v1.1.2.tgz
(5)解压tar -zxvf harbor-online-installer-v1.1.2.tgz
搭建harbor镜像仓库
4.配置harbor.cfg

vi  harbor.cfg

(1)修改主机名为服务器地址
搭建harbor镜像仓库
(2)配置harbor 的UI界面的密码
找到harbor_admin_password项修改即可:
搭建harbor镜像仓库
5.配置docker-compose.yml(看自己需要配置)

vi docker-compose.yml

可在docker-compose.yml里配置映射端口,不配置默认的是80:80的映射,还有要注意端口的冲突。
找到此位置,配置第一行的80:80映射就行,这里我配的是8111:80的映射.
搭建harbor镜像仓库
6.安装相关镜像等,启动harbor
直接执行./install.sh,等待安装完成即可
7.启动完成后,访问刚设置的hostname即可,默认是80端口,我们已经配置成了8111端口,所以在浏览器访问hostname:8111
搭建harbor镜像仓库
接下来进行登录,登录名默认为admin,密码为之前我们设置的密码;
搭建harbor镜像仓库
8.上传镜像
首先登录:
使用命令docker login hostname:端口
搭建harbor镜像仓库
提示输入用户名密码,输入即可登录。
如果出现拒接登录,则我们需要配置该ip地址为可信任地址:
编辑文件:vi /etc/docker/daemon.json
加入如下内容:对应的ip+端口为主机ip和我们配置的映射端口.
搭建harbor镜像仓库
然后重启docker:

systemctl daemon-reload
systemctl restart docker

注意:如果还是不能访问,则需要修改harbor目录下文件:

vi ./common/config/registry/config.yml

找到图中部分,将标绿色部分地址该成我们的ip+配置的端口
搭建harbor镜像仓库
然后重启docker-compose

docker-compose down
docker-compose up -d

或者使用:

docker-compose start

然后可以进行上传镜像了:
(1)首先打tag标签,docker tag 原镜像名 ip:端口/项目名/新镜像名
这里的ip:端口为我们的仓库配置的ip+端口,项目名为harbor页面上的项目名,可以去页面进行创建;
(2)推送镜像

docker push + 刚才打tag的镜像

这时可以去页面看是否上传成功
如:
搭建harbor镜像仓库
搭建harbor镜像仓库
此时就可以看到我们上传的镜像;
9.拉取镜像
若在另外的服务器上拉取镜像,则需要先配置我们的仓库ip可信任
编辑文件:vi /etc/docker/daemon.json
如前一样,加入如下内容:对应的ip+端口为仓库主机ip和端口.
搭建harbor镜像仓库
然后重启docker:

systemctl daemon-reload
systemctl restart docker

接下来就可以使用pull命令拉取了:

docker pull 仓库ip:端口/项目名/镜像名

然后查看docker images是否镜像被下载下来就可以了.