07搭建Harbor镜像仓库

2021-03-21  本文已影响0人  鸡蛋挂面

一、安装必要的依赖

01.安装docker

使用yum 安装工具集yum-utils、数据存储驱动包device-mapper-persistent-data lvm2

 yum -y install  yum-utils device-mapper-persistent-data lvm2

配置docker的安装源(国内安装源)

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum 仓库的缓存

yum makecache fast

安装docker

yum -y install docker-ce

启动docker

systemctl start docker

查看docket版本信息

docker version

配置镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

02.安装docker-compose

官方地址:

https://docs.docker.com/compose/install/

运行以下命令以下载Docker Compose的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

可执行权限应用于二进制文件:

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

可以创建指向/usr/bin或路径中任何其他目录的符号链接。

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看版本

docker-compose --version

二、安装Harbor

版本:v2.0.0
安装方式:二进制

01.下载harbor的压缩包,官网地址:

https://github.com/goharbor/harbor/releases

02.上传压缩包到Linux,解压

tar xf harbor-offline-installer-v2.0.0-rc3.tgz

03.修改配置文件

cd harbor/
cp -a harbor.yml.tmpl harbor.yml
vim harbor.yml
...
hostname: 192.168.66.33
# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80
#https:
#  port: 443
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path
...

04.安装

./prepare
./install.sh

05.启动docker-compose

docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动

06.浏览器访问

默认端口是80,直接输入IP地址访问即可

http://192.168.66.33/harbor/sign-in

默认账户密码:admin/Harbor12345

image.png

三、创建用户和项目

01.创建用户

image.png

02.创建项目

image.png

03.给项目分配用户

image.png

04.新用户登录

image.png

四、把镜像上传到Harbor

先在服务上拉取一个镜像测试,假装是我们自己打包好的镜像

docker pull redis
[root@harbor harbor]# docker images |grep redis
redis                         latest          621ceef7494a   2 months ago   104MB

根据harbor提示,先给我们要上传的镜像打上标签,然后再推送


image.png

01.给镜像打上标签

docker tag redis:latest 192.168.66.33/dev/redis:v1

02.推送镜像

[root@harbor harbor]# docker push 192.168.66.33:80/dev/redis:v1
The push refers to repository [192.168.66.33:80/dev/redis]
Get https://192.168.66.33/v2/: dial tcp 192.168.66.33:80: connect: connection refused

这时会出现以上报错,是因为Docker没有把Harbor加入信任列表中

03.把Harbor地址加入到Docker信任列表

vim /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.66.33:80"]
}

重启docker

systemctl restart docker

04.登录Harbor

命令:
docker login 192.168.66.33:80 -u 用户名 -p 密码

docker login 192.168.66.33:80 -u dev -p Dev123456

05.上传镜像

docker push 192.168.66.33:80/dev/redis:v1

五、从Harbor下载镜像

需求:在另一台服务器(web服务器)拉取镜像
前提:先安装好Docker,添加Harbor到可信任列表

01.安装docker

02.将Harbor主机地址添加到配置文件

vim /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://jrr4lsdm.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.66.33:80"]
}

03.先登录,再从Harbor下载镜像

[root@k8s ~]# docker login 192.168.66.33:80 -u dev -p Dev123456
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root@k8s ~]# docker pull 192.168.66.33:80/dev/redis:v1

不管是下载镜像,给镜像打标签还是上传镜像,注意都要把IP地址和端口号写在一起,默认80端口也要写,因为Harbor默认的端口是443端口

上一篇 下一篇

猜你喜欢

热点阅读