营口化工网站建设,电子商务论文8000字,wordpress查询收录,wordpress修改域名后打不开目录
一、私有仓库搭建和管理
#xff08;一#xff09;搭建本地私有仓库
1.拉取registry镜像
2.修改docker配置文件并重启
3.运行registry容器
4.给镜像打标签
5.上传到私有仓库
6.查看私有仓库的所有镜像
7.从私有仓库拉取镜像
#xff08;1#xff09;删除cen…目录
一、私有仓库搭建和管理
一搭建本地私有仓库
1.拉取registry镜像
2.修改docker配置文件并重启
3.运行registry容器
4.给镜像打标签
5.上传到私有仓库
6.查看私有仓库的所有镜像
7.从私有仓库拉取镜像
1删除centos镜像
2从私有仓库拉取centosv1镜像
二、Docker--harbor私有仓库部署与管理
一Harbor 简介
1.什么是Harbor
2.Harbor的特性
1基于角色控制
2基于镜像的复制策略
3支持 LDAP/AD
4镜像删除和垃圾回收
5图形化用户界面
6审计管理
7支持 RESTful API
8Harbor和docker registry的关系
3.Harbor的构成
1Proxy
2Registry
3Core services
① UIharbor-ui
② WebHook
③ Token 服务
4Databaseharbor-db
5Job services
6Log collectorharbor-log
二Harbor 部署
1.部署 Docker-Compose 服务
2.部署 Harbor 服务
1下载并解压安装harbor
2修改harbor安装的配置文件
3启动 Harbor
3.查看 Harbor 启动镜像
4.创建新项目
1浏览器访问
2新建项目
3填写项目名称
编辑4登录和推送镜像
5在 Harbor 界面查看
5.在其他客户端上传镜像
1在Docker客户端配置操作
2重启并登录
3测试
4登录Harbor查看
三维护管理Harbor
1.通过HarborWeb创建项目
2.创建Harbor用户
1创建用户并分配权限
2添加项目成员
3在客户端上使用普通账户操作镜像
4访问web网页查看编辑
3.可通过日志查看
4.修改 Harbor.cfg 配置文件
5.移除 Harbor 服务容器同时保留镜像数据/数据库并进行迁移
四docker容器的重启策略
五docker的daemon.json 配置文件里面有哪些可以设置 一、私有仓库搭建和管理
一搭建本地私有仓库
1.拉取registry镜像
docker pull registry 2.修改docker配置文件并重启
vim /etc/docker/daemon.json
{insecure-registries: [172.16.72.80:5000], #添加注意用逗号结尾registry-mirrors: [https://6ijb8ubo.mirror.aliyuncs.com]
}systemctl restart docker 3.运行registry容器
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restartalways --name registry registry:latest
docker ps -a
-----------------------------------------------------------------------------------------
-itd在容器中打开一个伪终端进行交互操作并在后台运行
-v把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录)来实现数据的持久化
-p映射端口访问宿主机的5000端口就访问到registry容器的服务了
--restartalways这是重启的策略在容器退出时总是重启容器
--name registry创建容器命名为registry
registry:latest这个是刚才pull下来的镜像
----------------------------------------------------------------------------------------- 4.给镜像打标签
docker tag centos:7 172.16.72.80:5000/centos:v1 5.上传到私有仓库
docker push 172.16.72.80:5000/centos:v1 6.查看私有仓库的所有镜像
curl http://172.16.72.80:5000/v2/centos/tags/list或者浏览器访问
http://172.16.72.80:5000/v2/centos/tags/list 7.从私有仓库拉取镜像
1删除centos镜像
docker rmi -f eeb6ee3f44bd
docker images 2从私有仓库拉取centosv1镜像
docker pull 172.16.72.80:5000/centos:v1
docker images 二、Docker--harbor私有仓库部署与管理
一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的特性
1基于角色控制
用户和仓库都是基于项目进行组织的而用户在项目中可以拥有不同的权限。
2基于镜像的复制策略
镜像可以在多个Harbor实例之间进行复制同步。
3支持 LDAP/AD
Harbor 可以集成企业内部已有的 AD/LDAP类似数据库的一张表用于对已经存在的用户认证和管理。
4镜像删除和垃圾回收
镜像可以被删除也可以回收镜像占用的空间。
5图形化用户界面
用户可以通过浏览器来浏览搜索镜像仓库以及对项目进行管理。
6审计管理
所有针对镜像仓库的操作都可以被记录追溯用于审计管理。
7支持 RESTful API
RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
8Harbor和docker registry的关系
Harbor实质上是对docker registry做了封装扩展了自己的业务模板。
3.Harbor的构成
Harbor 在架构上主要有 Proxy、Registry、Core services、DatabaseHarbor-db、Log collectorHarbor-log、Job services 六个组件。
1Proxy
是一个 nginx 的前端代理Harbor 的 Registry、UI、Token 服务等组件都处在 nginx 反向代理后边。该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。
2Registry 负责储存 Docker 镜像并处理 Docker push/pull 命令。由于要对用户进行访问控制即不同用户对 Docker 镜像 有不同的读写权限Registry 会指向一个 Token 服务强制用户的每次 Docker pull/push 请求都要携带一个合法的 Token Registry 会通过公钥对 Token 进行解密验证。
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 进行请求。
4Databaseharbor-db
为core services提供数据库服务负责储存用户权限、审计日志、Docker 镜像分组信息等数据。
5Job services
主要用于镜像复制本地镜像可以被同步到远程 Harbor 实例上。
6Log collectorharbor-log
负责收集其他组件的日志到一个地方。
二Harbor 部署
1.部署 Docker-Compose 服务
find / -name docker-compose
cp /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/
docker-compose -v 2.部署 Harbor 服务
1下载并解压安装harbor
tar -xf harbor-offline-installer-v1.10.18.tgz
mv harbor /usr/local/ 2修改harbor安装的配置文件
cd /usr/local/harbor
vim /usr/local/harbor/harbor.yml
--5行--修改设置为Harbor服务器的IP地址或者域名
hostname 172.16.72.80
--27行--指定管理员的初始密码默认的用户名/密码是admin/Harbor12345
harbor_admin_password Harbor12345 3启动 Harbor
cd /usr/local/harbor/
在配置好了 harbor.cfg 之后执行 ./prepare 命令为 harbor 启动的容器生成一些必要的文件环境
再执行命令 ./install.sh 以 pull 镜像并启动容器 3.查看 Harbor 启动镜像 4.创建新项目
1浏览器访问
访问http://172.16.72.80 登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor12345 2新建项目
输入用户名和密码登录界面后可以创建一个新项目。点击“项目”按钮 3填写项目名称
项目名称为“test”点击“确定”按钮创建新项目 4登录和推送镜像
此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下Registry 服务器在端口 80 上侦听。
//登录 Harbor
docker login -u admin -p Harbor12345 http://127.0.0.1//下载镜像进行测试
docker pull nginx//将镜像打标签
格式docker tag 镜像:标签 仓库IP/项目名称/镜像名:标签
docker tag nginx:latest 127.0.0.1/test/nginx:v1//上传镜像到 Harbor
docker push 127.0.0.1/test/nginx:v1 5在 Harbor 界面查看
在 Harbor 界面 myproject-kgc 目录下可看见此镜像及相关信息 5.在其他客户端上传镜像 以上操作都是在 Harbor 服务器本地操作。如果其他客户端登录到 Harbor就会报如下错误。出现这问题的原因为Docker Registry 交互默认使用的是 HTTPS但是搭建私有镜像默认使用的是 HTTP 服务所以与私有镜像交互时出现以下错误。
docker login -u admin -p Harbor12345 http://172.16.72.80
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://172.16.72.80/v2/: dial tcp 172.16.72.80:443: connect: connection refused 1在Docker客户端配置操作
修改服务端配置文件
vim /etc/docker/daemon.jsoninsecure-registries: [172.16.72.80], #添加此项或者
vim /usr/lib/systemd/system/docker.service
--insecure-registry 172.16.72.80 #在第13行添加Harbor服务器地址 2重启并登录
//重启 Docker再次登录
systemctl daemon-reload
systemctl restart docker//再次登录 Harbor
docker login -u admin -p Harbor12345 http://172.16.72.80
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Login Succeeded
//将自动保存凭据到/root/.docker/config.json下次登录时可直接使用凭据登录 Harbor 3测试
//下载镜像进行测试
docker pull 172.16.72.80/test/nginx:v1//上传镜像进行测试
docker pull cirros
docker tag cirros:latest 172.16.72.80/test/cirros:v2
docker push 172.16.72.80/test/cirros:v2 4登录Harbor查看 三维护管理Harbor
1.通过HarborWeb创建项目
在 Harbor 仓库中任何镜像在被 push 到 regsitry 之前都必须有一个自己所属的项目。
单击“项目”填写项目名称项目级别若设置为私有则不勾选。如果设置为公共仓库则所有人对此项目下的镜像拥有读权限命令行中不需要执行Docker login即可下载镜像镜像操作与 Docker Hub 一致。
2.创建Harbor用户
1创建用户并分配权限
#创建用户并分配权限
在 Web 管理界面中单击系统管理 - 用户管理 - 用户
填写用户名为“test”邮箱为“testtest.com”全名为“test”密码为“Harbor123”注释为“管理员”可省略。
附用户创建成功后单击左侧“...”按钮可将上述创建的用户设置为管理员角色或进行删除操作本例不作任何设置。角色 权限说明
访客 对于指定项目拥有只读权限
开发人员 对于指定项目拥有读写权限但没用删除权限
维护人员 对于指定项目拥有读写权限也能对修改其它配置比如创建 Webhooks
项目管理员 除了读写权限同时拥有用户管理/镜像扫描等管理权限 2添加项目成员
#添加项目成员
单击项目 - test 成员 - 成员填写上述创建的用户 test 并分配角色为“开发人员”。
附此时单击左侧“...”按钮仍然可对成员角色进行变更或者删除操作 3在客户端上使用普通账户操作镜像
#在客户端上使用普通账户操作镜像
//删除上述打标签的本地镜像
docker rmi 172.16.72.80/test/cirros:v2//先退出当前用户然后使用上述创建的账户 test登录
docker logout 172.16.72.80docker login 172.16.72.80
或
docker login -u test -p Harbor123 http://172.16.72.80//下载和上传镜像进行测试
docker pull 172.16.72.80/test/cirros:v2docker tag cirros:latest 172.16.72.80/test/cirros:v3
docker push 172.16.72.80/test/cirros:v3 4访问web网页查看
3.可通过日志查看 4.修改 Harbor.cfg 配置文件
要更改 Harbor的配置文件中的可选参数时请先停止现有的 Harbor实例并更新 Harbor.cfg然后运行 prepare 脚本来填充配置 最后重新创建并启动 Harbor 的实例。使用 docker-compose 管理 Harbor 时必须在与 docker-compose.yml 相同的目录中运行。
cd /usr/local/harbor
docker-compose down -vvim harbor.cfg #只能修改可选参数./preparedocker-compose up -d
//如果有以下报错需要开启防火墙 firewalld 服务解决
Creating network harbor_harbor with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-b53c314f45e8 -j RETURN: iptables: No chain/target/match by that name.(exit status 1))systemctl restart firewalld.service
docker-compose up -d
5.移除 Harbor 服务容器同时保留镜像数据/数据库并进行迁移
//在Harbor服务器上操作
1移除 Harbor 服务容器
cd /usr/local/harbor
docker-compose down -v2把项目中的镜像数据进行打包
//持久数据如镜像数据库等在宿主机的/data/目录下日志在宿主机的/var/log/Harbor/目录下
ls /data/registry/docker/registry/v2/repositories/myproject-kgc
cd /data/registry/docker/registry/v2/repositories/myproject-kgc
tar zcvf kgc-registry.tar.gz ./*重新部署
cd /usr/local/harbor
docker-compose down -v
rm -r /data/database
rm -r /data/registry
四docker容器的重启策略
docker run --restart no|always|on-failure|unless-stopped .....no不管容器是正常退出还是异常退出总是不重启容器。默认策略
always不管容器是正常退出还是异常退出总是重启容器。
on-failure只在容器异常退出时重启容器。on-failure:N 表示容器异常退出时重启容器最多N次
unless-stopped总是重启容器但不考虑docker服务端进程启动时就已经处于退出状态的容器
五docker的daemon.json 配置文件里面有哪些可以设置
配置项中可以配置
{graph: /data/docker, #数据目录此行可不加storage-driver: overlay2, #存储引擎此行可不加insecure-registries: [registry.access.redhat.com,quary.io], #私有仓库registry-mirrors: [https://q], #镜像加速必加项bip: 172.7.5.1/24, #docker网络必加项当然可以把子网掩码可以改小一点这么有更多的可分配的主机exec-opts: [native.cgroupdriversystemd], #启动时候的额外参数驱动结合K8S使用live-restore: true #当docker容器引擎挂掉的时候使用docker跑起来的容器还能运行分离 必加项
}
以上是建议的配置项