Docker镜像仓库harbor的搭建与使用

一:我们在公司内部建立了Docker内部镜像仓库:

harbor是vmware出的一个docker镜像仓库,本质是一组容器的集合体,算是一个多容器的pod.

数据卷缺省是宿主机的/data,所以我们把iscsiu挂在/data

主机:172.18.31.28

首先安装docker-ce

添加docker-ce源:

yum install epel-release

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

yum install docker-ce -y

yum install ntp -y

启动自动同步时间:

timedatectl set-ntp yes  #此处可用yes,no,1或0

配置时区:

timedatectl set-timezone Asia/Shanghai

配置Docker启动参数:

mkdir -p /etc/docker
cat << EOF >> /etc/docker/daemon.json
{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
EOF

之后装的所有Docker的宿主机,如果要用到这个私有仓库的话:

cat << EOF >> /etc/docker/daemon.json
{
     "insecure-registries":["172.18.31.28"],
     "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
EOF

启动docker

systemctl enable docker && systemctl start docker

​ 安装Docker-compose

yum install docker-compose
pip3 install -I requests==2.9 来强制修正

下载harbor的离线安装包

cd /root
https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-installer-v2.0.1.tgz
tar zxvf harbor-offline-installer-v2.0.1-rc1.tgz
cd harbor

编辑配置文件:

cp harbor.yml.tmpl harbor.yml
vi harbor.yml
    hostname: 172.18.31.28
	harbor_admin_password: Fuckxxxbbaasskk
	隐掉443,因为我们是内网用,配个证书也是假的,所以关了443
	#https:
    # https port for harbor, default is 443
    #  port: 443
    # The path of cert and key files for nginx
    #  certificate: /your/certificate/path
	换掉DB的pass
	database:
    # The password for the root user of Harbor DB. Change this before any production use.
      password: xxxxxxx
    #  private_key: /your/private/key/path

然后直接安装:

./install.sh

安装完成了就,看一眼:

docker-compose ps

然后直接登录 http://172.18.31.28 就好

缺省有一个library的开放项目,我们推一个busybox过去测试一下:

首先拉一个busybox到本地
docker pull busybox

打个tag
docker tag busybox:latest 172.18.31.28/library/busybox

推上去
docker push 172.18.31.28/library/busybox

这时候再去31.28的library项目里看,就能看到新推上去的busybox镜像了

在其他的机器上,首先登录,然后就可以拉镜像了。

再举个实际例子,我们把metallb给推上去备用:

打tag
docker tag docker.io/metallb/controller:v0.9.3 172.18.31.28/library/docker.io/metallb/controller:v0.9.3

推上去
docker push 172.18.31.28/library/docker.io/metallb/controller:v0.9.3

Docker的缺省网段冲突问题
Dropbear配置SSH服务
comments powered by Disqus