界面化操作私有仓库镜像不方便,harbor可以很好解决这个问题,开始安装。
1、首先安装docker环境,这个就不说了,都会装有。
2、harbor是通过docker-compose管理安装的,所以需要安装docker-compose,安装这玩意有两种方式。
1)、执行下面两条命令
curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
然后检查时否安装成功
docker-compose --version
2)、通过Python pip工具进行安装,据说这中好,不纠结,我就用这个吧,这个命令看起来简单。
首先安装epel扩展源:
yum -y install epel-release
然后安装python-pip
yum -y install python-pip
安装完之后别忘了清除一下cache
yum clean all
最后才安装docker-compose
pip install -U docker-compose
3、然后开始下载安装harbor,去官网下载然后解压。下载地址:https://github.com/goharbor/harbor/releases
然后切换到存放压缩文件夹的目录进行解压,tar xvf harbor-1.5.3.tar.gz
备注:网上有些教程是直接在linux下载的,但是版本我感觉太老就自己下载了,参考下面的命令
在线安装包
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz
tar xvf harbor-online-installer-v1.1.2.tgz
离线安装包
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
tar xvf harbor-offline-installer-v1.5.1.tgz
4、然后开始配置一下,解压完所有的内容都在make文件夹下面,然后编辑make文件夹里面的配置文件harbor.cfg,将配置文件的hostname调整为你的私有仓库的IP或者域名,当然其他配置想调整也可以调整下,我这里就不进行调整,只调整下hostname就可以了。
5、然后运行make目录里面进行安装,执行命令./install.sh,好,然后我这里报错了:No such file or directory: './docker-compose.yml',这个目录下面确实没有yml文件,先看下目录下面有哪些文件,如下图,都是tpl结尾?那咱们复制docker-compose.tpl,然后将后缀名改下docker-compose.yml,然后再安装,恩....又报错了ERROR: manifest for vmware/harbor-log:__version__ not found,然后打开docker-compose.yml文件发现里面的镜像文件的版本号都是__version__,需要我们手动调整下版本,碰到image标签的就去dockerhub上面找最新版本信息下载,比如vmware/harbor-log,查看最新版本为v1.5.2,所以把__version__换成v1.5.2即可,下面同理。
vmware/harbor-log:v1.5.2
vmware/registry-photon:v2.6.2-v1.5.2
vmware/harbor-db:v1.5.2
vmware/harbor-adminserver:v1.5.2
vmware/harbor-ui:v1.5.2
vmware/harbor-jobservice:v1.5.2
vmware/redis-photon:v1.5.2
vmware/nginx-photon:v1.5.2
然后重新执行,完事,然后浏览器输入http://10.138.60.136即可。
harbor_admin_password:管理员的初始密码。该密码仅在Harbor 第一次启动时生效。之后,此设置将被忽略,并且应在UI中设置管理员的密码。请注意,默认用户名/密码为admin / Harbor12345
接下来我们来玩玩这个东西,注意,这个东西安装好后,是自带仓库镜像的,不用额外安装私有仓库。
首先推送一个镜像上去看看,需要先新建一个项目,这个东西原本就带了一个项目library,就用这个吧,然后点进去,这里有命令
来试一试,首先加个标签:docker tag dockertest 10.138.60.136:5000/library/dockertest:1.0
然后推送上去看看:docker push 10.138.60.136:5000/library/dockertest:1.0
下面步骤没通。。。。。改日在写
参考:
编辑docker.service文件(/usr/lib/systemd/system/docker.service):在ExecStart处添加 –insecure-registry 参数。
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
--init-path=/usr/libexec/docker/docker-init-current \
--seccomp-profile=/etc/docker/seccomp.json \
--insecure-registry=10.138.60.136(Harbor地址) \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
或者另外一种方式
/etc/docker/daemon.json
{ "insecure-registries":["10.138.60.136"] }
然后重新启动:
systemctl daemon-reload
systemctl restart docker