Harbor(一)

今天给大家讲一下容器化必备的服务harbor镜像仓库,harbor是一个用于存储和分发docker镜像的企业级registry服务器,一个企业的容器化规模是否很大,从harbor的配置中可以看出来,一般企业单机的harbor仓库足矣满足,或者做一个harbor的双机这个公司都很不错了,如果做到很大规模的话就考验harbor仓库的镜像下载速度,那么这个时候就可以使用阿里开源的蜻蜓进行P2P分布式分发镜像,提高节点下载镜像速度。下面我们就先来演示一个单机的harbor仓库安装

本次安装基于docker安装,需要安装docker环境

一、安装docker环境
[root@ubuntu1804 ~]#cat install_docker_ubuntu.sh
#!/bin/bash
#Description: Install docker on Ubuntu1804

apt update
apt  -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt -y update
apt-cache madison docker-ce
apt -y  install docker-ce=5:19.03.5~3-0~ubuntu-bionic  docker-ce-cli=5:19.03.5~3-0~ubuntu-bionic

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

docker环境安装完毕后下面我们安装docker-compose

二、安装docker-compose
root@ubuntu1804 ~]#cat install_docker_compose_for_ubuntu1804.sh 
#!/bin/bash
#Description: Install docker compose on ubuntu1804

COLOR="echo -e \\033[1;31m"
END="\033[m"
DOCKER_VERSION="5:19.03.5~3-0~ubuntu-bionic"

install_docker(){
${COLOR}"开始安装 Docker....."${END}
sleep 1 

apt update
apt  -y install apt-transport-https ca-certificates curl software-properties-common 
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt update

${COLOR}"Docker有以下版本:"${END}
sleep 2
apt-cache madison docker-ce
${COLOR}"5秒后即将安装: docker-"${DOCKER_VERSION}" 版本....."${END}
${COLOR}"如果想安装其它Docker版本,请按ctrl+c键退出,修改版本再执行"${END}
sleep 5

apt -y  install docker-ce=${DOCKER_VERSION} docker-ce-cli=${DOCKER_VERSION}

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
      "registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker version && ${COLOR}"Docker 安装完成"${END} ||  ${COLOR}"Docker 安装失败"${END}
}

install_docker_compose(){
${COLOR}"开始安装 Docker compose....."${END}
sleep 1

curl -L https://github.com/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose --version &&  ${COLOR}"Docker Compose 安装完成"${END} ||  ${COLOR}"Docker compose 安装失败"${END}
}

dpkg -s docker-ce &> /dev/null && ${COLOR}"Docker已安装"${END} || install_docker

docker-compose --version &> /dev/null && ${COLOR}"Docker Compose已安装"${END} || install_docker_compose

环境准备完毕后我们开始安装harbor

下载harbor包
wget https://github.com/goharbor/harbor/releases/download/v2.2.3/harbor-offline-installer-v2.2.3.tgz

开始解压包
tar xf harbor-offline-installer-v2.2.3.tgz
 cd harbor/         #进入harbor目录
 cp harbor.yml.tmpl harbor.yml    #把配置文件备份

编辑配置文件
hostname: 10.0.0.109   #访问网页的名称
http:
  port: 80  #端口
harbor_admin_password: 123456 #登录页面的密码 帐号默认为admin
data_volume: /data        #上传镜像文件存放的目录,找一个大一点的磁盘,或者挂载一个目录

执行安装命令 
./install.sh   #在压缩包中找到此脚本 --help选项中有镜像检测功能

停止与启动命令
 (安装完毕后查询是否有80端口监听,如果没有监听则重启harbor服务)
docker-compose stop   #停止
docker-compose up-d    #启动

启动完毕后访问主机地址进行登录