在(二)的基础上,再部署一个Hub(docker仓库)节点
开一台虚拟机服务器作为docker仓库,docker仓库有两种,一种是私有库,一种是公有库,一般公有库部署比私有复杂一点点,因为要涉及到安全协议问题,不过公有库还是大多数企业最好选择
初始化配置于笔记(二)中一样,这里只要安装好docker即可(docker版本一定要一致,具体安装详情:https://www.cnblogs.com/123456likun/p/13475486.html)
修改docker的配置文件# vim /etc/docker/daemon.json
如图:在里面添加一条 "insecure-registries": ["https://hub.likun.com"] 因为docker仓库通过https访问,需要官方证书(要钱的)所以这里自己做一个证书,同时,每一个节点都要有这一条假证书(修改每一个节点的daemon.json)
这里导入一个docker-compose文件(为啥导入,了解部署docker会知道,不做解释)
在导入这个文件前先安装一个包
# yum -y install lrzsz
再将导入的docker-compose放到 /uer/local/bin/
#mv docker-compose /usr/local/bin/
#chmod a+x /usr/local/bin/docker-compose
下载库包,官网:https://github.com/vmware/harbor/releases 目前最新的是v2.1.1版本
这里我安装的是v1.2.0版
导入 harbor-offline-installer-v1.2.0.tgz 库包
# tar zxvf harbor-offline-installer-v1.2.0.tgz
解压后,将目录换一个位置,为了方便
## mv harbor /usr/local/
修改配置文件
#vim harbor.cfg
5 hostname = hub.likun.com 这里改成上面我们加的假域名
9 ui_url_protocol = https 这里将http改成https(docker识别)
24 ssl_cert = /data/cert/server.crt 这里不做修改,但是这个目录要手动创建
# mkdir -p /data/cert
创建https证书************************************************************************************************************
#cd /data/cert
#openssl genrsa -des3 -out server.key 2048
# opensslreq -new -key server.key -out server.csr
如图:自我构建一个证书,这里要注意的域名那一行,一定要和前面的域名一致
# cp server.key server.key.org
# openssl rsa -in server.key.org -out server.key 这里的意思是退出密码,方便以后证书使用不会出差
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
#chmod a+x *
#cd /usr/local/harbor/
进入目录后
#./install.sh (如图)
最后显示如下便成功
看一下是否运行成功
#docker ps -a
关闭和启动HARBOR
#docker-compose stop
#docker-compose up -d
测试:
为了本机测试,在宿主机C盘里HOSTS里加入域名192.168.30.140 hub.likun.com
这里有些window10 : C:WindowsSystem32driversetc 下没有hosts文件,这需要我们来生成一下
打开命令行(cmd)输入: for /f %P in ('dir %windir%WinSxShosts /b /s') do copy %P %windir%System32driversetc & echo %P & Notepad %P
此时就有了hosts文件,然后再加进去域名既可
同时每一个节点在/etc/hosts文件里加入#192.168.30.140 hub.likun.com
浏览器访问http://hub.likun.com即可打开库页面,默认账号和密码:admin/Harbor12345
在后端可以登陆进去:下载>打标签>仓库 (如图)
#docker login https://hub.likun.com (账号密码admin/Harbor12345,就和在web界面进入一样)
复制图中原始标签
再回到后端粘贴复制的原始标签,并换标签,然后推送到库
#docker tag likunlinux/myapp:v1 hub.likun.com/library/myapp:v1
#docker push hub.likun.com/library/myapp:v1
**************************************************************
操作:
1-本地docker上传镜像
指定镜像仓库地址
#vim /etc/docker/daemon.json
下载测试镜像
#docker pull hello-world
给镜像重新打标签
#docker tag hello-world serverip/hello-world:latest
登陆进行上传
#docker login serverip
2-其他docker客户端下载
指定镜像仓库地址
#vim /etc/docker/daemon.json
下载镜像:#docker pull serverip/hello-world:latest