docker入门之私有仓库制做

docker入门之私有仓库制做

1、Registry(私有仓库)1 私有仓库的做用2 私有仓库的分类2、Docker官方私有仓库制做3、vmware Harbor仓库安装和使用1 Harbor介绍2 Harbor功能3 安装和部署Harbor4 使用Harborcss

1、Registry(私有仓库)

1 私有仓库的做用

Registry 用于保存docker镜像,包括镜像的层次结构和元数据。node

2 私有仓库的分类

一、 sponsor Registry:第三方的Registry,供客户和Docker社区使用
二、 Mirror Registry:第三方的Registry,只让客户使用
三、 Vendor Registry:由发布Docker镜像的供应商提供的Registry
四、 Private Registry:经过设有防火墙和额外安全层的私有实体提供的Registrynginx

在默认状况下,docker registry只支持https协议。web

2、Docker官方私有仓库制做

一、仓库服务器安装registrydocker

yum install docker-registry

二、仓库服务器查看配置文件数据库

/etc/docker-distrbution/registry/config.yml

默认端口为:5000
三、仓库服务器开启docker-instribution服务json

systemctl start docker-instribution

四、客户端修改配置文件,添加参数,以支持非https上传镜像vim

vim /etc/docker/daemon.json
"insecure-registries":["node02.arppinging.com:5000"]

五、客户端上传镜像
5.1 客户端对镜像打上合理的tag,其中顶级目录应可用。(好比个人服务器域名为 node2.arppinging.com ),那么个人tag应该是 node2.arppinging.com:5000/xxx:xxxapi

docker tag myweb:v0.3-10 node02.arppinging.com:5000/myweb:v0.3-11

5.2 客户端上传镜像安全

docker push node02.arppinging.com:5000/myweb:v0.3-11

上传的镜像会被保存在仓库服务器的 /var/lib/registry/docker/registry/ 目录下

六、下载镜像

docker pull node02.arppinging:5000/myweb:v0.3-11

3、vmware Harbor仓库安装和使用

1 Harbor介绍

Harbor是一个开源的私有仓库项目,支持多用户管理、访问控制、目录监控、复制(冗余备份)等。

2 Harbor功能

一、支持多用户
二、支持安全和风险扫描
三、审计日志
四、标识、基于角色的访问控制
五、支持镜像之间的复制
六、支持扩展的API和图形用户界面
七、支持英文和中文

3 安装和部署Harbor

一、下载Harbor

wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz

二、解压

[root@node2 harbor]tar xf harbor-offline-installer-v1.7.1.tgz

三、将解压后的文件复制到 /usr/local/ 目录下

[root@node2 tmp]# cp -arf harbor/ /usr/local/

四、修改配置文件

修改hostname为域名 node2.arppinging.com
       能够修改admin密码和db_passwd密码,自动建立数据库容器时,密码也会相应改变。

五、安装docker-compose

[root@node2 harbor]# yum install -y epel-release
[root@node2 harbor]# yum install docker-compose -y
验证:
[root@node2 ~]# docker-compose -v
docker-compose version 1.18.0, build 8dd22a9
[root@node2 ~]

六、在Harbor目录下执行安装脚本

./install.sh

4 使用Harbor

一、登陆harbor
http://ip,默认用户名和密码为admin/Harbor12345

二、新建普通用户

三、使用普通用户登录后,新建一个仓库


四、仓库管理

五、客户端上传镜像
5.1 客户端修改配置文件

[root@node1 ~]# cat /etc/docker/daemon.json 
{
"registry-mirrors":["https://registry.docker-cn.com"],
"insecure-registries":["node2.arppinging.com"]

}
[root@node1 ~]

5.2 重启客户端服务

[root@node1 ~]# systemctl restart docker

5.3 客户端登陆仓库

[root@node1 ~]# docker login node2.arppinging.com
Username: arppinging    

Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

5.4 客户端对镜像打tag

[root@node1 ~]# docker tag myweb:v0.3-10 node2.arppinging.com/devel/myweb:v0.3-10
[root@node1 ~]# docker tag myweb:v0.3-8 node2.arppinging.com/devel/myweb:v0.3-8

5.5 客户端上传镜像

root@node1 ~]# docker push node2.arppinging.com/devel/myweb
        The push refers to repository [node2.arppinging.com/devel/myweb]
        e8f1b15bb8ac: Pushed 
        0f67d3e10c03: Pushed 
        59b059d445c1: Pushed 
        0246bb21855f: Pushed 
        42acf078bf60: Pushed 
        7bff100f35cb: Pushed 
        v0.3-10: digest: sha256:c984d65975ced35ab270c734d726679efcdd0178c20417c91302899b021aa6ca size: 1568
        9193a29e460b: Pushed 
        f785ecaa8521: Pushed 
        59b059d445c1: Layer already exists 
        0246bb21855f: Layer already exists 
        42acf078bf60: Layer already exists 
        7bff100f35cb: Layer already exists 
        v0.3-8: digest: sha256:7f2bb798d7b6b6b5c7ddc4d9f70c15553cdfba286be7116c89e9b589eb8fb04d size: 1568
        [root@node1 ~]

5.6 web端查看仓库内容

相关文章
相关标签/搜索