CentOS7安装harbor仓库

docker的安装就只说CentOS 其他系统安装参考 链接 

 centos安装docker的连接在此

下面 搭建harbor仓库

1.安装docker-compose

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases

https://www.runoob.com/docker/docker-compose.html 菜鸟教程

方法一: (1.24版为例要其他的版本可以直接改)   推荐方法三

# sudo 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 --version

但是此方法会经常因为网络的原因而无法安装

方法二:

一条命令执行

yum install -y epel-release && yum install -y python-pip && pip install docker-compose && pip install --upgrade pip

1、安装python-pip

yum -y install epel-release yum -y install python-pip

2、安装docker-compose


pip install docker-compose

如果安装过程中提示

Could not find a version that satisfies the requirement requests<3,>=2.20.0 (from docker-compose) (from versions: ) No matching distribution found for requests<3,>=2.20.0 (from docker-compose) You are using pip version 8.1.2, however version 20.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.

就执行命令 更新pip版本

pip install --upgrade pip 更新后再安装 pip install docker-compose

待安装完成后,执行查询版本的命令

docker-compose version docker-compose -version

如果提示权限不够

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

如果提示

Cannot open self /usr/local/bin/docker-compose or archive /usr/local/bin/docker-compose.pkg

就点此 里面有解决方法

方法三:

可以直接下载docker-compose压缩文件,然后解压上传赋权  详细点击这里

稳定版1.24.1

比较新版的稳定版是1.26.2

查看内核版本 低的话需要升级

uname -r

如果是3.10需要升级

yum update 
yum install -y ncurses-devel qt-devel make gcc bc bison flex openssl-devel grub2 hmaccalc zlib-devel binutils-devel elfutils-libelf-devel

从网上下linux内核下好了,上传到服务器,并解压到/usr/src/linux 文件夹下    也可以直接点这里下 linux内核linux-5.4.56.tar.xz


tar -xvf linux-5.4.56.tar.xz -C /usr/src/linux 
cd /usr/src/linux/linux-5.4.56/ 
cp /boot/config-$(uname -r) ./.config

然后执行 自定义内核配置生成.config

make mrproper

也可以直接使用原来系统的内核配置

sh -c 'y "" | make oldconfig' #centos 7

make mrproper 后这里可以自定义内核特性,如果对内核不熟悉的话,直接使用tab键 选save 保存,然后退出即可。

nproc 查看cpu 核数
#一条
make -j 4 && make modules_install -j 4 && make install -j 4
#编译
make -j4
#安装内核模快
make modules_install
#安装内核
make install
#编译完继续执行:
grub2-set-default "CentOS Linux (5.4.56) 7 (Cores)"
grub2-editenv list
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启
reboot

进入系统的时候选择新安装的内核

查看内核

uname -a
uname -r

安装Harbor

网上下载Harbor的压缩包  这里提供个较新的 点击下载harbor-offline-installer-v2.0.2.tgz

上传压缩包到linux的/usr/local,并解压

mkdir /usr/local   一般都有 不用创建
然后上传解压 
tar -xzf harbor-offline-installer-v2.0.2.tgz
删除压缩包腾空间
rm -rf harbor-offline-installer-v2.0.2.tgz   

修改Harbor的配置,没有的话复制harbor.yml.tmpl

vi harbor.yml
修改hostname和port
hostname: 192.168.137.58  #这是我的本地ip  记得改成自己的

port: 80
如果没有证书要把https的配置注释掉
https:
  # https port for harbor, default is 443
  port: 443
  # The path of cert and key files for nginx
  certificate: /usr/local/harbor/harbor/cert/192.168.137.58.crt   #IP都改成自己的 
  private_key: /usr/local/harbor/harbor/cert/192.168.137.58.key   #IP都改成自己的
  external_url: https://192.168.137.58   #这也要改
data_volume: /data/harbor

接下来是最坑的地方  因为harbor默认用https访问 所以要配证书  最好是服务器自带的   下面是本地随便配的一个 

harbor开启https

创建 ca 证书

mkdir -p /usr/local/harbor/harbor/cert cd /usr/local/harbor/harbor/cert

生成 CA 的 key

openssl genrsa -out ca.key 4096

生成 CA 的 crt   IP记得改

openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Chengdou/L=Chengdou/O=chinatelecom/OU=ecloudcaas/CN=192.168.137.58" \ -key ca.key \ -out ca.crt

生成自己域名的 key    IP记得改

openssl genrsa -out 192.168.137.58.key 4096

生成自己域名的 csr      IP记得改

openssl req -sha512 -new \ -subj "/C=CN/ST=Chengdou/L=Chengdou/O=chinatelecom/OU=ecloudcaas/CN=192.168.137.58" \ -key 192.168.137.58.key \ -out 192.168.137.58.csr

生成一个 openssl 命令需要的外部配置文件     IP记得改

主要是subjectAltName,这里写的IP.1=yourip还可以写DNS.1=yourdomainname

cat > v3.ext <<-EOF 
authorityKeyIdentifier=keyid,issuer 
basicConstraints=CA:FALSE 
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 
extendedKeyUsage = serverAuth 
subjectAltName = @alt_names 
[alt_names]
IP=192.168.137.58 
EOF 
#替换DNS条目以反映您的域 配了IP不用配DNS 
[alt_names] 
DNS.1=harbor.od.com 
DNS.2=harbor.od.com 
DNS.3=harbor.od.com 
EOF

通过 ext 和 csr 生成 crt     IP记得改

openssl x509 -req -sha512 -days 3650 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in 192.168.137.58.csr \
    -out 192.168.137.58.crt

将服务端的 crt 转换成客户端用的 cert     IP记得改

openssl x509 -inform PEM -in 192.168.137.58.crt -out 192.168.137.58.cert

将带域名的 cert,key 和 ca.crt 拷贝到 docker client 所在主机的 /etc/docker/certs.d/IP/ 目录下     IP记得改

mkdir -p /etc/docker/cert.d/192.168.137.58
cp /usr/local/harbor/harbor/cert/192.168.137.58.cert /etc/docker/cert.d/192.168.137.58/
cp /usr/local/harbor/harbor/cert/192.168.137.58.key /etc/docker/cert.d/192.168.137.58/
cp /usr/local/harbor/harbor/cert/ca.crt /etc/docker/cert.d/192.168.137.58/

安装Harbor  记得去你解压的目录

./prepare
./install.sh

当你看到Harbor has been installed and started successfully时,我要恭喜你安装成功了。

访问Harbor  后面需要改成自己的地方我就不说啦同上

http://192.168.137.58:80

默认账户密码:admin/Harbor12345

启动、停止Harbor

docker-compose up -d 启动
docker-compose stop 停止
docker-compose down 停止  //会重置网络连接 如果stop后再启动访问不了 可以用这个
docker-compose restart 重新启动

推送镜像验证

先需要将仓库添加到docker配置里面

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

$ systemctl restart docker

登录

docker login -u admin -p Harbor123 192.168.137.58:443

进网页创建一个项目:test;

推送

下载官方的 centos 镜像

docker pull centos:centos7.8.2003    你可以选个小点的  我这是现成的  所以就用了这个

修改TAG

docker tag centos:centos7.8.2003 192.168.137.58/test/centos:7.8.2003

推送到仓库

docker push 192.168.137.58/test/centos:7.8.2003

 

镜像的拉取

假设是一台没有登录此 harbor 的 docker 客户端

创建 /etc/docker/daemon.json 文件

{
  "registry-mirrors": ["https:mirror.ccs.tencentyun.com","https://kuamavit.mirror.aliyuncs.com", "https://registry.docker-cn.com", "https://docker.mirrors.ustc.edu.cn"], 
  "insecure-registries" : ["https://192.168.137.58"],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    }
}

重启Docker生效

systemctl daemon-reload
systemctl restart docker

拉取 harbor 中的镜像

docker login 192.168.137.58
docker pull 192.168.137.58/test/centos:7.8.2003

  我本地测试是没问题了  到这就结束了 谢谢你能耐心看完   后面有问题的  记得看看IP是不是都改了

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值