构建Docker私有仓库(含web界面)实现镜像的推送和拉取

我们知道docker镜像可以托管到dockerhub中,跟代码库托管到github是一个道理。 但如果我们不想把docker镜像公开放到dockerhub中,只想在部门或团队内部共享docker镜像,能不能像github一样搭建私有的仓库呢?答案是肯定的,docker也支持将镜像存到私有仓库。

个人环境

(1)Centos 7.4
(2)Docker
(3)Docker-compose
(4)harbor-offline-installer-v1.2.0

需要的软件送给大家,老规矩,时空穿梭器:https://pan.baidu.com/s/1pXMUFF8jCGR_xIaPkCGMkQ
提取码:8lfd

一、安装Docker

两个节点安装:
docker客户端:略
docker私有仓库服务器:略
给每个节点安装一个ce认证信赖
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第1张图片

二、导入docker-compose

[root@barbor ~]# mv docker-compose /usr/local/bin/
[root@barbor ~]# chmod a+x /usr/local/bin/docker-compose

三、导入安装包

[root@barbor ~]# tar xzvf harbor-offline-installer-v1.2.0.tgz
[root@barbor ~]# mv harbor /usr/local/
E root@barbor ~]# cd /usr/local/harbor/
#修改配置
[root@barbor harbor]# vim harbor.cfg
修改一下两项
hostname = hub.janrry.com
ui_url_ protocol = https

四、生成https认证

[root@barbor harbor]# mkdir -p /data/cert/
cd /data/cert/
[root@barbor harbor]# Openssl genrsa -des3 -out server.key 2048     #创建私钥
[root@barbor harbor]# openssl req -new -key server.key -out server.csr    #发起请求
Enter pass phrase for server.key:
You are about to be asked to enter information that wi1l be i ncorporated,
into your certificate request .
What you are about to enter is what is ca1lled a Di stinguished Name or a DN.
There are quite a few fie1ds but you can leave some b lank
For some fields there wi11 be a default value,
If you enter '.',the field will be 1eft blank.
Country Name (2 letter code) [xx] :CN
State or Province Name (fu11 name) [] :XAN
Locality Name (eg, city) [Default City] :XAN
Organization Name (eg, company) [Default Company Ltd] :xingyun
organizational Unit Name (eg, section) [] :xingyun
Common Name (eg, your name or your se rver's hostname) [] : hub.janrry.com   //必须是和你harbor.cfg中配置的一样l
Email Address [] : anliu@163. com
Please enter the fol1owing 'extra' attributes
to be sent with your certificate request
A challenge password [] :
An optional company name[]:
[root@barbor harbor]# cp server.key server.key.org    #备份私钥
[root@barbor harbor]# openssl rsa -in server.key.org -out server.key    #转化证书
[root@barbor harbor]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
#签名
chmod -R 777 /data/cert

在这里插入图片描述
这玩意,介意大家生成后保存下来,以后用的到的时候就能直接用,每次配置还挺烦。

五、安装

[root@barbor ~]# cd /usr/local/harbor/
[root@barbor ~]# ./install.sh

六、在hosts中配置域名解析

[root@master ~]# vim /etc/hosts

构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第2张图片

七、登录web界面构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第3张图片

账号admin,密码在配置文件中,默认Harbor12345.(根据需要自行修改)
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第4张图片

八、推送&&拉取

推送:

在这里插入图片描述
可以看到,有一个hello-world镜像,现将这个推到私有仓库:
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第5张图片
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第6张图片
修改对应变量即可。
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第7张图片
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第8张图片
构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第9张图片
至此,推送完成。

拉取:

构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第10张图片

构建Docker私有仓库(含web界面)实现镜像的推送和拉取_第11张图片
至此,拉取成功,祝各位好运!

你可能感兴趣的:(企业实战案例)