搭建Docker私有镜像仓库系统 Harbor
Harbor由VMware公司出品,功能还是很强大,可以自行搭建一个私有Docker镜像仓库,在权限控制、镜像管理很方便。
本文以harbor1.2.0 为例进行安装。
一、准备
1、找一台虚拟机或独立Linux系统设备都可以,我的环境是 centos7.2.
2、需要首先安装docker和docker-compose 。
如果需要安装方法可以参考 [https://blog.csdn.net/LUCKWXF/article/details/95958760][https_blog.csdn.net_LUCKWXF_article_details_95958760]
[https://blog.csdn.net/LUCKWXF/article/details/96131392][https_blog.csdn.net_LUCKWXF_article_details_96131392]
3、下载harbor 离线安装文件:[https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz][https_github.com_vmware_harbor_releases_download_v1.2.0_harbor-offline-installer-v1.2.0.tgz]
二、开始安装
1、root用户,进入~目录。
上传[harbor-offline-installer-v1.2.0.tgz][https_github.com_vmware_harbor_releases_download_v1.2.0_harbor-offline-installer-v1.2.0.tgz]到该目录
tar -zxvf harbor-offline-installer-v1.2.0.tgz
mv harbor /usr/local
2、创建证书及配置
openssl genrsa -des3 -out server.key 2048
\[记住这步你设置的私钥密码\]
3、openssl req -new -key server.key -out server.csr --创建证书请求
\[输入刚才的私钥\]
提示下:国家输入:CN 省份、城市都输入:BJ (根据你的需要)
组织:输入你的英文单位名称(如:myunitname)
地址:如:hub.myunitname.com (根据实际,建议myunitname.com 用你单位的域名)
接下来输入管理员邮件地址。
4、退秘钥,Nigx容器里没法接受秘钥。
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
[输入私钥密码]
5、创建证书:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mkdir -p /data/cert
chmod -R 777 /data/cert
mv server.* /data/cert
6、安装 Harbor
cd /usr/local/harbor
vim harbor.cfg
-——————————————————————————————————————
#修改hostname
hostname: hub.myunitname.com
#修改协议为https
ui_url_protocol = https
#修改管理员密码(可以采用默认,但这是不安全的)
harbor_admin_password: **********【设置你的管理员密码符合安全策略】
-———————————————————————————————————————
保存后退出;
./install.sh —进行安装;需要耐心等待。
注意80端口不要被其他程序占用,Ngix容器要用到。
安装成功后会有如下容器被启动:
7、修改下
vim /etc/docker/daemon.json
{
“insecure-registries”:[“hub.myunitname.com”] —注意4个空格
}
vim /etc/hosts
【你服务器的IP地址】 hub.myunitname.com
8、重新启动下docker
systemctl restart docker
备注:如果彻底重启可参考
systemctl daemon-reload
systemctl restart docker
docker-compose down -v
docker-compose up -d
三、windows客户端访问
客户端 修改下 C:\Windows\System32\drivers\etc\hosts
-——————————————————————————————————————————
【你服务器的IP地址如:192.168.0.160】 hub.myunitname.com
-—————————————————————————————————————————-
打开浏览器输入 : https://hub.myunitname.com 正常就可以访问了。
用管理员admin 登录进入,建立其他账号、新建仓库都可以了。默认有个公用的libray库。
创建一个私有仓库 testlib
四、测试PUSH、PULL镜像。
找个linux客户端,修改下
vim /etc/docker/daemon.json
{
“insecure-registries”:[“hub.myunitname.com”] —注意4个空格
}
vim /etc/hosts
【你服务器的IP地址】 hub.myunitname.com
systemctl restart docker
docker pull hello-world 【从Docker仓库下载】
docker images 【查看已有镜像】
上传镜像
docker login hub.myunitname.com
docker tag hello-world:latest hub.myunitname.com/testlib/hello-world:v1.0
docker push hub.myunitname.com/testlib/hello-world:v1.0 —testlib是上面创建的仓库
下载镜像
docker pull hub.myunitname.com/testlib/hello-world:v1.0
说明:
hub.myunitname.com—是仓库地址
testlib—项目名称
hello-world-镜像名称
:v1.0 —版本号
(结束)
还没有评论,来说两句吧...