写作墨问题 网站,江西营销网站建设,营销推广是什么意思,seo简单速排名软件目录 一、构建私有库
1.下载 registry 镜像
2.在 daemon.json 文件中添加私有镜像仓库地址
3.运行 registry 容器
4.为镜像打标签
5.上传到私有仓库
6.列出私有仓库的所有镜像
7.列出私有仓库的centos镜像有哪些tag
8.测试私有仓库下载
二、Harbor 简介
1.什么是Harb…目录 一、构建私有库
1.下载 registry 镜像
2.在 daemon.json 文件中添加私有镜像仓库地址
3.运行 registry 容器
4.为镜像打标签
5.上传到私有仓库
6.列出私有仓库的所有镜像
7.列出私有仓库的centos镜像有哪些tag
8.测试私有仓库下载
二、Harbor 简介
1.什么是Harbor
2.Harbor 的特性
3. Harbor 的构成
3.1Proxy
3.2Registry
3.3Core services
3.4Databaseharbor-db
3.5Job services
3.6Log collectorharbor-log
三、部署 Harbor 1.部署 Docker-Compose 服务
2.部署 Harbor 服务
2.1下载或上传 Harbor 安装程序
2.2修改harbor安装的配置文件
3.启动 Harbor
4.查看 Harbor 启动镜像
5.创建一个新项目
三、维护管理 Harbor
1.通过 Harbor Web 创建项目
2.创建 Harbor 用户
2.1创建用户并分配权限
2.2添加项目成员
2.3在客户端上使用普通账户操作镜像
四、实现 Harbor 高可用
1.在192.168.88.10上部署 Harbor
2.构建 Harbor 高可用 一、构建私有库
基于registry镜像创建的私有仓库存在几点问题
查看镜像不方便私有仓库没有加密安全性较差
1.下载 registry 镜像
docker pull registrydocker images 2.在 daemon.json 文件中添加私有镜像仓库地址
vim /etc/docker/daemon.json{#指定本机的私有镜像地址注意用逗号结尾。insecure-registries: [http://192.168.88.10:5000],registry-mirrors: [https://hub-mirror.c.163.com,https://mirror.baidubce.com]
}systemctl restart docker
3.运行 registry 容器
docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --restartalways --name registry registry:latestdocker ps -a-itd在容器中打开一个伪终端进行交互操作并在后台运行
-v指定宿主机的目录绑定容器中的目录实现数据持久化
-p指定端口映射将宿主机的5000端口就访问到registry容器的服务
--restartalways重启策略。在容器退出时重启容器。
--name registry创建容器命名为registryDocker 容器重启策略
no默认策略。在容器退出时不重启容器。
on-failure在容器非正常退出时退出状态非0才会重启容器。
on-failure:3 在容器非正常退出时重启容器最多重启3次。
always在容器退出时总是重启容器
unless-stopped在容器退出时总是重启容器但不考虑在Docker守护进程启动时就已经停止了的容器 4.为镜像打标签
docker tag centos:7 192.168.88.10:5000/centos:v15.上传到私有仓库
docker push 192.168.88.10:5000/centos:v1 6.列出私有仓库的所有镜像
curl http://192.168.88.10:5000/v2/_catalog 7.列出私有仓库的centos镜像有哪些tag
curl http://192.168.88.10:5000/v2/centos/tags/list 8.测试私有仓库下载
#本地下载私有仓库镜像
docker rmi -f
docker pull 192.168.88.10/centos:v1#其他主机从私有仓库下载镜像
192.168.88.20
systemctl stop firewalld
setenforce 0192.168.88.70
vim /etc/docker/daemon.json
{#添加私有仓库地址insecure-registries: [http://192.168.88.10:5000],registry-mirrors: [https://hub-mirror.c.163.com,https://mirror.baidubce.com]
}systemctl restart docker二、Harbor 简介
1.什么是Harbor
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。
Harbor以 Docker 公司开源的 Registry 为基础提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能同时还原生支持中文。
Harbor 的每个组件都是以 Docker 容器的形式构建的使用 docker-compose 来对它进行部署。用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml。
2.Harbor 的特性
基于角色控制用户和仓库都是基于项目进行组织的而用户在项目中可以拥有不同的权限。基于镜像的复制策略镜像可以在多个Harbor实例之间进行复制同步。支持 LDAP/ADHarbor 可以集成企业内部已有的 AD/LDAP类似数据库的一张表用于对已经存在的用户认证和管理。镜像删除和垃圾回收镜像可以被删除也可以回收镜像占用的空间。图形化用户界面用户可以通过浏览器来浏览搜索镜像仓库以及对项目进行管理。审计管理所有针对镜像仓库的操作都可以被记录追溯用于审计管理。支持 RESTful APIRESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。Harbor和docker registry的关系Harbor实质上是对docker registry做了封装扩展了自己的业务模板。
3. Harbor 的构成
Harbor 在架构上主要有 Proxy、Registry、Core services、DatabaseHarbor-db、Log collectorHarbor-log、Job services 六个组件。
Harbor 的每个组件都是以 Docker 容器的形式构建的因此使用 Docker Compose 来对它进行部署。 总共分为7个容器运行通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看 名称分别为nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。 其中 harbor-adminserver 主要是作为一个后端的配置数据管理并没有太多的其他功能。harbor-ui 所要操作的所有数据都通过 harbor-adminserver 这样一个数据配置管理中心来完成。
3.1Proxy
是一个 nginx 的前端代理Harbor 的 Registry、UI、Token 服务等组件都处在 nginx 反向代理后边。 该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。
3.2Registry
负责储存 Docker 镜像并处理 Docker push/pull 命令。由于要对用户进行访问控制即不同用户对 Docker 镜像 有不同的读写权限Registry 会指向一个 Token 服务强制用户的每次 Docker pull/push 请求都要携带一个合法的 Token Registry 会通过公钥对 Token 进行解密验证。
3.3Core services
Harbor的核心功能主要提供以下3个服务:
UIharbor-ui: 提供图形化界面帮助用户管理 Registry 上的镜像image, 并对用户进行授权。WebHook为了及时获取Registry 上image 状态变化的情况在Registry 上配置 Webhook把状态变化传递给 UI 模块。Token 服务负责根据用户权限给每个 Docker push/pull 命令签发 Token。Docker 客户端向 Registry 服务发起的请求 如果不包含 Token会被重定向到 Token 服务获得 Token 后再重新向 Registry 进行请求。
3.4Databaseharbor-db
为core services提供数据库服务负责储存用户权限、审计日志、Docker 镜像分组信息等数据。
3.5Job services
主要用于镜像复制本地镜像可以被同步到远程 Harbor 实例上。
3.6Log collectorharbor-log
负责收集其他组件的日志到一个地方。
三、部署 Harbor 1.部署 Docker-Compose 服务
//下载或者上传 Docker-Compose
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-composechmod x /usr/local/bin/docker-composedocker-compose -v
2.部署 Harbor 服务
2.1下载或上传 Harbor 安装程序
cd /opt
上传harbor-offline-installer-v1.10.18.tgz压缩包tar zxvf harbor-offline-installer-v1.10.18.tgz
2.2修改harbor安装的配置文件
vim /opt/harbor.yml
--5行--修改设置为Harbor服务器的IP地址或者域名
hostname 192.168.88.70
--59行--指定管理员的初始密码默认的用户名/密码是admin/Harbor12345
harbor_admin_password Harbor123453.启动 Harbor
cd /opt/harbor/./prepare
./install.sh
如果./install.sh执行不成功执行docker rm -f $(docker ps -aq)删除容器在配置好了 harbor.cfg 之后执行 ./prepare 命令为 harbor 启动的容器生成一些必要的文件环境
再执行命令 ./install.sh 以 pull 镜像并启动容器
4.查看 Harbor 启动镜像
cd /opt/harbor/
docker-compose psdocker-compose up -d #启动
docker-compose stop #停止
docker-compose restart #重新启动 5.创建一个新项目
1浏览器访问http://192.168.88.70 登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor123452输入用户名和密码登录界面后可以创建一个新项目。点击“项目”按钮3此时可使用 Docker 命令在本地通过 192.168.88.70 来登录和推送镜像。默认情况下Registry 服务器在端口 80 上侦听。
//登录 Harbor
docker login [-u admin -p Harbor12345] http://192.168.88.70//将镜像打标签
格式docker tag 镜像:标签 仓库IP/项目名称/镜像名:标签
docker tag centos:7 192.168.88.70/library/centos:7//上传镜像到 Harbor
docker push 192.168.88.70/library/centos:7 4在 Harbor 界面 library 目录下可看见此镜像及相关信息 三、维护管理 Harbor
1.通过 Harbor Web 创建项目
在 Harbor 仓库中任何镜像在被 push 到 regsitry 之前都必须有一个自己所属的项目。
单击“项目”填写项目名称项目级别若设置为私有则不勾选。
如果设置为公共仓库则所有人对此项目下的镜像拥有读权限
命令行中不需要执行Docker login即可下载镜像镜像操作与 Docker Hub 一致。 2.创建 Harbor 用户
2.1创建用户并分配权限
在 Web 管理界面中单击系统管理 - 用户管理 - 用户
填写用户名为“zhangsan”邮箱为“zhangsanqq.com”全名为“zhangsan”密码为“Abc123456”注释为“管理员”可省略。
附用户创建成功后单击左侧“...”按钮可将上述创建的用户设置为管理员角色或进行删除操作本例不作任何设置。角色 权限说明
访客 对于指定项目拥有只读权限
开发人员 对于指定项目拥有读写权限但没用删除权限
维护人员 对于指定项目拥有读写权限也能对修改其它配置比如创建 Webhooks
项目管理员 除了读写权限同时拥有用户管理/镜像扫描等管理权限 2.2添加项目成员
单击项目 - myproject - 成员 - 成员填写上述创建的用户 zhangsan 并分配角色为“开发人员”。
附此时单击左侧“...”按钮仍然可对成员角色进行变更或者删除操作 2.3在客户端上使用普通账户操作镜像
//先退出当前用户然后使用上述创建的账户 kgc-zhangsan 登录
docker logout 192.168.88.70docker login 192.168.88.70
或
docker login -u zhangsan -p Abc123456 http://192.168.88.70//上传本地镜像
docker tag centos:latest 192.168.88.70/myproject/centos:latest
docker push 192.168.88.70/myproject/centos:latest//删除上述打标签的本地镜像
docker rmi 192.168.80.70/myproject/centos:latest//下载本地镜像
docker pull 192.168.80.10/myproject/centos:latest 四、实现 Harbor 高可用
1.在192.168.88.10上部署 Harbor
cd /opt
scp -r harbor/ 192.168.88.10:pwd#修改yml文件
cd /opt/harbor
vim harbor.yml
修改
hostname: 192.168.88.10vim /etc/docker/daemon.json
添加
{insecure-registries: [http://192.168.88.10],registry-mirrors: [https://hub-mirror.c.163.com,https://mirror.baidubce.com]
}cd /opt/harbor
./install.sh
2.构建 Harbor 高可用
1.浏览器访问http://192.168.88.10 登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor123452.在 仓库管理 - 新建目标3.在 复制管理 - 新建规则