当前位置: 首页 > news >正文

我想建立一个网站设计教育网站

我想建立一个网站,设计教育网站,网站稳定性不好的原因,wordpress部分内容加密目录 一、理论 1.本地私有仓库 2.Harbor 二、实验 1.Docker搭建本地私有仓库 2.docker-compose部署及配置 3.harbor部署及配置 4.登录创建项目 5.在其他客户端上传镜像 6. harbor维护 7.移除 Harbor 服务容器同时保留镜像数据/数据库#xff0c;并进行迁移 三、问题… 目录 一、理论 1.本地私有仓库 2.Harbor 二、实验 1.Docker搭建本地私有仓库 2.docker-compose部署及配置 3.harbor部署及配置 4.登录创建项目 5.在其他客户端上传镜像 6. harbor维护  7.移除 Harbor 服务容器同时保留镜像数据/数据库并进行迁移 三、问题 1.登录报错解决 2.Harbor启动出错 3.其他客户端与私有镜像交互报错 4.harbor组件状态为Exit 四、总结 一、理论 1.本地私有仓库 1概念 docker本地仓库存放镜像本地的机器上传和下载pull/push。 使用私有仓库有许多优点 ①节省网络带宽针对于每个镜像不用每个人都去中央仓库上面去下载只需要从私有仓库中下载即可 ②提供镜像资源利用针对于公司内部使用的镜像推送到本地的私有仓库中以供公司内部相关人员使用   2搭建本地私有仓库 docker pull registry #下载registry镜像 vim /etc/docker/daemon.json #daemon.json中添加私有镜像仓库地址内容如下{​ insecure-registries:[192.168.204.140:5000], #此行注意填写自己的ip注意最后有逗号​ registry-mirrors: [https://XXXXXXXX.mirror.aliyuncs.com]} systemctl restart docker.service #重启docker服务使本地私有仓库生效 docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restartalways --name registry registry:latest #运行registry容器-v指定数据卷挂载目录-p指定映射端口号--restartalways容器重启策略即开机自启此容器docker pull centos:7 #拉取镜像 docker tag centos:7 192.168.204.140:5000/centos:v1 #为镜像重新打私有仓库标签 docker push 192.168.204.140:5000/centos:v1 #将v1版本上传到私有仓库中 curl 192.168.204.140:5000/v2/_catalog #列出私有仓库的所有镜像 curl 192.168.204.140:5000/v2/centos/tags/list #李处私有仓库中centos的所有标签镜像 docker rmi 192.168.204.140:5000/centos:v1 #删除本地原有v1镜像 docker pull 192.168.204.140:5000/centos:v1 #测试从私有仓库下载v1镜像 3容器重启策略介绍 --restartalways重启策略no默认策略容器退出不重启on-failure容器非正常退出重启容器on-failure3容器非正常退出最多重启4次容器always退出总是重启容器unless-stopped在容器退出时总是重启容器但是不考虑在Docker守护进程启动时就已经停止了的容器2.Harbor 1概念 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实例之间进行复制同步。 ③、支持 LDAP/ADHarbor 可以集成企业内部已有的 AD/LDAP类似数据库的一张表用于对已经存在的用户认证和管理。 ④、镜像删除和垃圾回收镜像可以被删除也可以回收镜像占用的空间。 ⑤、图形化用户界面用户可以通过浏览器来浏览搜索镜像仓库以及对项目进行管理。 ⑥、审计管理所有针对镜像仓库的操作都可以被记录追溯用于审计管理。 ⑦、支持 RESTful APIRESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。 ⑧、Harbor和docker registry的关系Harbor实质上是对docker registry做了封装扩展了自己的业务模板。   3构成 Harbor 在架构上主要有 Proxy、Registry、Core services、DatabaseHarbor-db、Log collectorHarbor-log、Job services 六个组件。 ①Proxy: 是一个 nginx 的前端代理Harbor 的 Registry、UI、Token 服务等组件都处在 nginx 反向代理后边。 该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。 ②Registry: 负责储存 Docker 镜像并处理 Docker push/pull 命令。由于要对用户进行访问控制即不同用户对 Docker 镜像 有不同的读写权限Registry 会指向一个 Token 服务强制用户的每次 Docker pull/push 请求都要携带一个合法的 Token Registry 会通过公钥对 Token 进行解密验证。 ③Core services: Harbor的核心功能主要提供以下3个服务: 1UIharbor-ui: 提供图形化界面帮助用户管理 Registry 上的镜像image, 并对用户进行授权。 2WebHook为了及时获取Registry上image 状态变化的情况在Registry 上配置 Webhook把状态变化传递给 UI 模块。 3Token 服务负责根据用户权限给每个 Docker push/pull 命令签发 Token。Docker 客户端向 Registry 服务发起的请求 如果不包含 Token会被重定向到 Token 服务获得 Token 后再重新向 Registry 进行请求。 ④Databaseharbor-db为core services提供数据库服务负责储存用户权限、审计日志、Docker 镜像分组信息等数据。 ⑤Job services: 主要用于镜像复制本地镜像可以被同步到远程 Harbor 实例上。 ⑥Log collectorharbor-log: 负责收集其他组件的日志到一个地方。 4harbor部署及配置 ①部署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-compose #下载docker-compose包 chmod x /usr/local/bin/docker-compose #添加权限 docker-compose --version #查看版本 ②部署Harbor服务 cd /opt tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/ #将harbor压缩包传到/opt目录下解压到/usr/local目录下 vim /usr/local/harbor/harbor.cfg #修改harbor配置文件内容如下 hostname 192.168.204.140 #第5行修改设置为Harbor服务器的IP地址或者域名 harbor_admin_password Harbor12345 第59行指定管理员的初始密码默认的用户名/密码是admin/Harbor12345可不修改保存退出 cd /usr/local/harbor/ ./prepare ./install.sh #进入harbor目录执行脚本检查安装harbor docker-compose ps #安装成功够在本目录查看 ③登录创建项目 1浏览器访问http://192.168.204.140登录 Harbor WEB UI 界面默认的管理员用户名和密码是 admin/Harbor12345 2登录成功后创建一个新项目 登录仓库并上传镜像 #192.168.204.140上操作即搭建私有仓库的服务端 docker login -u admin -p Harbor12345 http://127.0.0.1 #登录到私有仓库中 docker images #查看本机有哪些镜像docker pull nginx #下载镜像进行测试 docker tag nginx:latest 127.0.0.1/jjw/nginx:v1 #nginx重新打标签为私有仓库项目下的nginx:v1版本 docker push 127.0.0.1/jjw/nginx:v1 #将此镜像上传到私有仓库的jjw项目 5客户端测试 在其他客户端上传镜像 docker login -u admin -p Harbor12345 http://192.168.204.140 客户端私有仓库pull镜像 docker login -u admin -p Harbor12345 http://192.168.204.140 #登录私有仓库将自动保存凭据到/root/.docker/config.json下次登录时可直接使用凭据登录 Harbor docker pull 192.168.204.140/jjw/nginx:v1 客户端私有仓库push镜像 docker pull tomcat #下载一个tomcat镜像 docker tag tomcat:latest 192.168.204.140/jjw/tomcat:v2 #重新给tomcat进行打标签为私有仓库jjw项目中的镜像 docker push 192.168.204.140/jjw/tomcat:v2 #将重新打标签的镜像上传到私有仓库中 6harbor维护  ①通过 Harbor Web 创建项目 在 Harbor 仓库中任何镜像在被 push 到 regsitry 之前都必须有一个自己所属的项目。 单击“项目”填写项目名称项目级别若设置为私有则不勾选。如果设置为公共仓库则所有人对此项目下的镜像拥有读权限命令行中不需要执行Docker login即可下载镜像镜像操作与 Docker Hub 一致。   ②创建 Harbor 用户 创建用户并分配权限在 Web 管理界面中单击系统管理 - 用户管理 - 用户填写用户名为“jjww”邮箱为“jjwwjjw.com”全名为“jjww”密码为“Abc12345”注释为“管理员”可省略。 附用户创建成功后单击左侧“...”按钮可将上述创建的用户设置为管理员角色或进行删除操作本例不作任何设置。③添加项目成员 单击项目 - jjw- 成员 - 成员填写上述创建的用户 jjww 并分配角色为“开发人员”。 附此时单击左侧“...”按钮仍然可对成员角色进行变更或者删除操作 在客户端上使用普通账户操作镜像 删除上述打标签的本地镜像 docker rmi 192.168.204.140/jjw/tomcat:v2先退出当前用户然后使用上述创建的账户 jjww登录 下载和上传镜像进行测试 #登出 docker logout 192.168.204.140docker login -u jjww -p Abc12345 http://192.168.204.140#先删除镜像 [rootlocalhost ~]# docker rmi 192.168.204.140/jjw/tomcat:v2 Untagged: 192.168.204.140/jjw/tomcat:v2 Untagged: 192.168.204.140/jjw/tomcatsha256:e6d65986e3b0320bebd85733be1195179dbce481201a6b3c1ed27510cfa18351docker pull 192.168.204.140/jjw/tomcat:v2docker tag tomcat:latest 192.168.204.140/jjw/tomcat:v3 docker push 192.168.204.140/jjw/tomcat:v3 查看日志 Web 界面日志操作日志按时间顺序记录用户相关操作 修改 Harbor.cfg 配置文件 要更改 Harbour的配置文件中的可选参数时请先停止现有的 Harbour实例并更新 Harbor.cfg然后运行 prepare 脚本来填充配置 最后重新创建并启动 Harbour 的实例。 使用 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 移除 Harbor 服务容器同时保留镜像数据/数据库并进行迁移 在Harbor服务器上操作 cd /usr/local/harbor docker-compose down -v 把项目中的镜像数据进行打包 持久数据如镜像数据库等在宿主机的/data/目录下日志在宿主机的/var/log/Harbor/目录下 #关闭服务 [rootharbor harbor]# cd /usr/local/harbor [rootharbor harbor]# docker-compose down -v Stopping harbor-jobservice ... done Stopping nginx ... done Stopping harbor-ui ... done Stopping harbor-db ... done Stopping harbor-adminserver ... done Stopping registry ... done Stopping harbor-log ... done Removing harbor-jobservice ... done Removing nginx ... done Removing harbor-ui ... done Removing harbor-db ... done Removing harbor-adminserver ... done Removing registry ... done Removing harbor-log ... done Removing network harbor_harbor#查看 [rootharbor harbor]# ls /data/registry/docker/registry/v2/repositories/jjw nginx tomcat #切换目录 [rootharbor harbor]# cd /data/registry/docker/registry/v2/repositories/jjw#打包 [rootharbor jjw]# tar zcvf jjw.tar.gz ./*#查看 [rootharbor jjw]# ls jjw.tar.gz nginx tomcat 迁移机器操作 安装harbor #安装harbor [rootlocalhost ~]# docker-compose --version docker-compose version 1.21.1, build 5a3f1a3 [rootlocalhost ~]# cd /opt [rootlocalhost opt]# rz -E rz waiting to receive. [rootlocalhost opt]# ls compose_lnmp compose_nginx compose_tomcat containerd harbor-offline-installer-v1.2.2.tgz rh [rootlocalhost opt]# vim /etc/hosts [rootlocalhost opt]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/#编辑配置文件 [rootlocalhost opt]# vim /usr/local/harbor/harbor.cfg [rootlocalhost opt]# vim /etc/docker/daemon.json [rootlocalhost opt]# vim /usr/lib/systemd/system/docker.service [rootlocalhost opt]# systemctl daemon-reload [rootlocalhost opt]# systemctl restart docker[rootlocalhost ~]# docker-compose --version docker-compose version 1.21.1, build 5a3f1a3 [rootlocalhost ~]# cd /opt [rootlocalhost opt]# rz -E rz waiting to receive. [rootlocalhost opt]# ls compose_lnmp compose_nginx compose_tomcat containerd harbor-offline-installer-v1.2.2.tgz rh [rootlocalhost opt]# vim /etc/hosts [rootlocalhost opt]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/#修改第5行 [rootlocalhost opt]# vim /usr/local/harbor/harbor.cfg 5 hostname 192.168.204.141#新增私有镜像仓库地址 [rootlocalhost opt]# vim /etc/docker/daemon.json { insecure-registries: [192.168.204.141] }#重启 [rootlocalhost opt]# systemctl daemon-reload [rootlocalhost opt]# systemctl restart docker#编译安装 [rootlocalhost opt]# cd /usr/local/harbor/ [rootlocalhost harbor]# ./prepare [rootlocalhost harbor]# ./install.sh 迁移  #本地登录 [rootlocalhost harbor]# docker login -u admin -p Harbor12345 http://127.0.0.1 WARNING! Using --password via the CLI is insecure. Use --password-stdin. 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-storeLogin Succeeded#拉取官方镜像 [rootlocalhost harbor]# docker pull cirros Using default tag: latest latest: Pulling from library/cirros Digest: sha256:1e695eb2772a2b511ccab70091962d1efb9501fdca804eb1d52d21c0933e7f47 Status: Image is up to date for cirros:latest docker.io/library/cirros:latest#打标签 [rootlocalhost harbor]# docker tag cirros:latest 127.0.0.1/jjw/cirros:v2#把镜像推送至私有仓库 [rootlocalhost harbor]# docker push 127.0.0.1/jjw/cirros:v2 The push refers to repository [127.0.0.1/jjw/cirros] 984ad441ec3d: Pushed f0a496d92efa: Pushed e52d19c3bee2: Pushed v2: digest: sha256:483f15ac97d03dc3d4dcf79cf71ded2e099cf76c340f3fdd0b3670a40a198a22 size: 943#登出 [rootlocalhost harbor]# docker logout 127.0.0.1 Removing login credentials for 127.0.0.1#查看 [rootlocalhost harbor]# ls /data/registry/docker/registry/v2/repositories/jjw cirros#上传压缩包并解压 [rootlocalhost jjw]# rz -E rz waiting to receive. [rootlocalhost jjw]# tar xf jjw.tar.gz [rootlocalhost jjw]# ls cirros jjw.tar.gz nginx tomcat#关闭服务 [rootlocalhost jjw]# cd /usr/local/harbor [rootlocalhost harbor]# docker-compose down -v Stopping harbor-jobservice ... done Stopping nginx ... done Stopping harbor-ui ... done Stopping harbor-adminserver ... done Stopping harbor-db ... done Stopping registry ... done Stopping harbor-log ... done Removing harbor-jobservice ... done Removing nginx ... done Removing harbor-ui ... done Removing harbor-adminserver ... done Removing harbor-db ... done Removing registry ... done Removing harbor-log ... done Removing network harbor_harbor#查看 [rootlocalhost harbor]# cd /data/registry/docker/registry/v2/repositories/jjw [rootlocalhost jjw]# ls cirros jjw.tar.gz nginx tomcat [rootlocalhost jjw]# rm -rf jjw.tar.gz #准备 [rootlocalhost jjw]# cd /usr/local/harbor [rootlocalhost harbor]# ./prepare Clearing the configuration file: ./common/config/adminserver/env Clearing the configuration file: ./common/config/ui/env Clearing the configuration file: ./common/config/ui/app.conf Clearing the configuration file: ./common/config/ui/private_key.pem Clearing the configuration file: ./common/config/db/env Clearing the configuration file: ./common/config/jobservice/env Clearing the configuration file: ./common/config/jobservice/app.conf Clearing the configuration file: ./common/config/registry/config.yml Clearing the configuration file: ./common/config/registry/root.crt Clearing the configuration file: ./common/config/nginx/nginx.conf loaded secret from file: /data/secretkey Generated configuration file: ./common/config/nginx/nginx.conf Generated configuration file: ./common/config/adminserver/env Generated configuration file: ./common/config/ui/env Generated configuration file: ./common/config/registry/config.yml Generated configuration file: ./common/config/db/env Generated configuration file: ./common/config/jobservice/env Generated configuration file: ./common/config/jobservice/app.conf Generated configuration file: ./common/config/ui/app.conf Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt The configuration files are ready, please use docker-compose to start the service.#启动服务 [rootlocalhost harbor]# docker-compose up -d Creating network harbor_harbor with the default driver Creating harbor-log ... done Creating harbor-db ... done Creating registry ... done Creating harbor-adminserver ... done Creating harbor-ui ... done Creating harbor-jobservice ... done Creating nginx ... done [rootlocalhost harbor]# 备注如需重新部署需要移除 Harbor 服务容器全部数据 cd /usr/local/harbor docker-compose down -v rm -r /data/database rm -r /data/registry 7Harbor.cfg的所需参数和可选参数 ①所需参数 所需参数这些参数需要在配置文件 Harbor.cfg 中设置。如果用户更新它们并运行 install.sh 脚本重新安装 Harbor 参数将生效。具体参数如下1hostname用于访问用户界面和 register 服务。它应该是目标机器的 IP 地址或完全限定的域名FQDN例如 192.168.10.23 或 hub.kgc.cn。不要使用 localhost 或 127.0.0.1 为主机名2ui_url_protocolhttp 或 https默认为 http用于访问 UI 和令牌/通知服务的协议。如果公证处于启用状态则此参数必须为 https3max_job_workers镜像复制作业线程。4db_password用于db_auth 的MySQL数据库root 用户的密码。5customize_crt该属性可设置为打开或关闭默认打开。打开此属性时准备脚本创建私钥和根证书用于生成/验证注册表令牌。当由外部来源提供密钥和根证书时将此属性设置为 off。6ssl_certSSL 证书的路径仅当协议设置为 https 时才应用。7secretkey_path用于在复制策略中加密或解密远程 register 密码的密钥路径。②可选参数 可选参数这些参数对于更新是可选的即用户可以将其保留为默认值并在启动 Harbor 后在 Web UI 上进行更新。如果进入 Harbor.cfg只会在第一次启动 Harbor 时生效随后对这些参数的更新Harbor.cfg 将被忽略。注意如果选择通过 UI 设置这些参数请确保在启动 Harbor 后立即执行此操作。具体来说必须在注册或在 Harbor 中创建任何新用户之前设置所需的 auth_mode。当系统中有用户时除了默认的 admin 用户 auth_mode 不能被修改。 具体参数如下1EmailHarbor 需要该参数才能向用户发送“密码重置”电子邮件并且只有在需要该功能时才启用。请注意在默认情况下 SSL 连接时没有启用。如果 SMTP 服务器需要 SSL但不支持 STARTTLS那么应该通过设置启用 SSL email_ssl TRUE。2harbor_admin_password管理员的初始密码只在 Harbor 第一次启动时生效。之后 此设置将被忽略并且应在 UI 中设置管理员的密码。请注意默认的用户名/密码是admin/Harbor12345。3auth_mode使用的认证类型默认情况下它是 db_auth即凭据存储在数据库中。对于LDAP身份验证请将其设置为 ldap_auth。4self_registration启用/禁用用户注册功能。禁用时新用户只能由 Admin 用户创建只有管理员用户可以在 Harbor 中创建新用户。注意当 auth_mode 设置为 ldap_auth 时自注册功能将始终处于禁用状态并且该标志被忽略。5Token_expiration由令牌服务创建的令牌的到期时间分钟默认为 30 分钟。6project_creation_restriction用于控制哪些用户有权创建项目的标志。默认情况下每个人都可以创建一个项目。 如果将其值设置为“adminonly”那么只有 admin 可以创建项目。7verify_remote_cert打开或关闭默认打开。此标志决定了当Harbor与远程 register 实例通信时是否验证 SSL/TLS 证书。 将此属性设置为 off 将绕过 SSL/TLS 验证这在远程实例具有自签名或不可信证书时经常使用。二、实验 1.Docker搭建本地私有仓库 (1) 下载 registry 镜像 (2) 查看镜像 3daemon.json中添加私有镜像仓库地址 4重启 5运行registry容器 -v指定数据卷挂载目录-p指定映射端口号--restartalways容器重启策略即开机自启此容器  6拉取镜像 7为镜像重新打私有仓库标签 8将v1版本上传到私有仓库中 9列出私有仓库的所有镜像 10列出私有仓库中centos的所有标签镜像 11删除本地原有v1镜像 12测试从私有仓库下载v1镜像 2.docker-compose部署及配置 1部署docker-compose 2添加权限、查看版本  3.harbor部署及配置 环境 主机操作系统IP地址主要软件及版本服务端Centos 7.6-x86_64192.168.204.140 docker 24.0.5、 docker-compose 1.21.1、 harbor-offline-v1.2.2 客户端Centos 7.6-x86_64192.168.204.141docker 24.0.5 1将harbor压缩包传到/opt目录下解压到/usr/local目录下 2修改harbor配置文件内容 第5行修改设置为Harbor服务器的IP地址或者域名 第59行指定管理员的初始密码默认的用户名/密码是admin/Harbor12345可不修改保存退出 (3) 进入harbor目录执行脚本检查安装harbor 安装成功够在本目录查看  安装成功够在本目录查看 4.登录创建项目 1浏览器访问 浏览器访问http://192.168.204.140 登录 Harbor WEB UI 界面 默认的管理员用户名和密码是 admin/Harbor12345 登录成功 输入用户名和密码登录界面后可以创建一个新项目。点击“项目”按钮 填写项目名称为“jjw”点击“确定”按钮创建新项目 此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下Registry 服务器在端口 80 上侦听。 登录仓库并上传镜像 下载镜像进行测试 将镜像打标签 上传镜像到 Harbor 在 Harbor 界面 jjw目录下可看见此镜像及相关信息 5.在其他客户端上传镜像 (1) 其他客户端登录到 Harbor与私有镜像交互 (2)下载镜像进行测试 (3)上传镜像进行测试 刷新 Harbor 的 Web 管理界面进行查看会发现jjw 项目里面有两个镜像 6. harbor维护  (1)  通过 Harbor Web 创建项目 (2) 创建 Harbor 用户 查看 可以设置为管理员  (3)添加项目成员 单击项目 - jjw- 成员 - 成员填写上述创建的用户 jjww并分配角色为“开发人员”。 附此时单击左侧“...”按钮仍然可对成员角色进行变更或者删除操作 可以管理用户jjww (4) 在客户端上使用普通账户操作镜像 先退出当前用户 然后使用上述创建的账户 jjww登录 先删除已有镜像 下载和上传镜像进行测试 (5) 查看日志 Web 界面日志操作日志按时间顺序记录用户相关操作 退出当前用户 6修改 Harbor.cfg 配置文件 关闭服务 修改 编译 启动服务 服务正常 7.移除 Harbor 服务容器同时保留镜像数据/数据库并进行迁移 1在Harbor服务器上操作 关闭服务 把项目中的镜像数据进行打包 持久数据如镜像数据库等在宿主机的/data/目录下日志在宿主机的/var/log/Harbor/目录下 打包 完成 2在迁移机器操作 安装软件 解压 创建daemon.json文件添加配置 重启docker 安装 浏览器访问 登录 点击“项目”按钮 填写项目名称为“jjw”点击“确定”按钮创建新项目 本地登录 拉取官方镜像 打标签并推送到私有仓库 关闭服务 登录私有仓库 拉取镜像 打标签上传镜像 查看已上传 登出 上传压缩包 关闭服务 准备 启动服务 浏览器访问已新增原服务器的nginx和tomcat镜像  三、问题 1.登录报错解决 1报错 其他客户端登录到 Harbor就会报如下错误。出现这问题的原因为Docker Registry 交互默认使用的是 HTTPS但是搭建私有镜像默认使用的是 HTTP 服务所以与私有镜像交互时出现以下错误。 docker login -u admin -p Harbor12345 http://192.168.204.140 WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from daemon: Get https://192.168.204.140/v2/: dial tcp 192.168.204.140:443: connect: connection refused   2解决方法 解决方法 1在 Docker server 启动的时候增加启动参数默认使用 HTTP 访问。 vim /usr/lib/systemd/system/docker.service --13行--修改为 ExecStart/usr/bin/dockerd -H fd:// --insecure-registry 192.168.204.140 --containerd/run/containerd/containerd.sock 2ExecStart/usr/bin/dockerd --insecure-registry 192.168.204.140 3重新加载system并重启docker systemctl daemon-reload systemctl restart docker.service2.Harbor启动出错 1报错 2原因分析 需要停止registry容器 # 列出所有镜像 docker images# 停止容器 docker stop registry#删除容器 docker rm 容器id#删除镜像 docker rmi 镜像id 另一种是一开始执行提示需要装docker-compose ✖ Need to install docker-compose(1.18.0) by yourself first and run this script again. 需要安装docker-compose 3解决 列出所有镜像 先删除容器再删除镜像 3.其他客户端与私有镜像交互报错 (1)报错 操作都是在 Harbor 服务器本地操作没有问题。如果其他客户端登录到 Harbor就会报如下错误。 [rootlocalhost ~]# docker login -u admin -p Harbor12345 http://192.168.204.140 WARNING! Using --password via the CLI is insecure. Use --password-stdin. Error response from daemon: Get https://192.168.204.140/v2/: dial tcp 192.168.204.140:443: connect: connection refused2原因分析 出现这问题的原因为Docker Registry 交互默认使用的是 HTTPS但是搭建私有镜像默认使用的是 HTTP 服务所以与私有镜像交互时出现以下错误。 3解决方法 方法一解决办法是在 Docker server 启动的时候增加启动参数默认使用 HTTP 访问。 vim /usr/lib/systemd/system/docker.service --13行--修改 ExecStart/usr/bin/dockerd -H fd:// --insecure-registry 192.168.204.140 --containerd/run/containerd/containerd.sock 或 ExecStart/usr/bin/dockerd --insecure-registry 192.168.204.140 重启 Docker再次登录 systemctl daemon-reload systemctl restart docker 方法二 创建daemon.json文件添加配置 [rootlocalhost ~]# vim /etc/docker/daemon.json {insecure-registries: [192.168.204.140]registry-mirrors:[https://docker.mirrors.ustc.edu.cn]} 重启 Docker再次登录 systemctl daemon-reload systemctl restart docker 4方法一如客户端启动报错 5方法二如客户端启动报错 需要先修改服务端配置文件确保主客相同注意有逗号 客户端重启成功 4.harbor组件状态为Exit (1) 报错 2原因分析 虚拟机挂起后服务状态异常 3启动相关服务进程 四、总结 Docker容器的重启策略如下 no:默认策略在容器退出时不重启容器on-failure:在容器非正常退出时退出状态非0才会重启容器on-failure:3 在容器非正常退出时重启容器最多重启3次always:在容器退出时总是重启容器unless-stopped: 在容器退出时总是重启容器但是不考虑在Docker守护进程启动时就已经停止了的容器 将镜像打标签 格式docker tag 镜像:标签  仓库IP/项目名称/镜像名:标签 修改 Harbor.cfg 配置文件 cd /usr/local/harbor docker-compose down -vvim harbor.cfg #只能修改可选参数./preparedocker-compose up -d
http://www.pierceye.com/news/845117/

相关文章:

  • 自己做网站的各种代码wordpress只能访问主页
  • 四川监理协会建设网站长沙有哪些楼盘
  • 网站首页欣赏网站模板 wordpress带会员系统
  • 关于音乐的个人网站wordpress 报名表单
  • 国内做的好看的网站设计wordpress 与现有sso
  • 通辽网站建设罗湖中心区做网站
  • 宁波网站建设哪家快湛江专业的建站托管
  • 四川省城乡住房建设部网站首页自建wordpress 客户端
  • 番禺做网站价格百度app打开
  • 扬中网站推广导流非国产手机浏览器
  • 外国网站英语要求建立网站就是制作网页
  • 电商网站建设与运营实训可以做网站的app
  • 深圳南山区网站建设公司站长工具seo综合查询 分析
  • 互粉的网站是怎么做的网站建设公司利润怎么样
  • 个人网站平台搭建咸阳企业做网站
  • 租用外国服务器网站网站建设电子商务论文选题方向
  • 网站建设那种语言好wordpress 首页添加链接
  • NET开发网站开发工程师招聘潍坊市网站建设公司
  • 自己开发网站怎么盈利开发游戏需要多少资金
  • 先域名 还是先做网站塘厦
  • 企业公众号以及网站建设wordpress 代码块样式
  • 网站源码搭建教程大同建设银行保安招聘网站
  • 无锡网站设wordpress营销模板
  • 建站哪个好一点wordpress直达按钮
  • 卢松松网站的百度广告怎么做的小程序开发成都公司
  • 导航网站头部代码android开发者官网
  • 网站设计需求分析报告做漫画的网站有哪些
  • 做什么网站吸引人sinaapp wordpress 固定链接
  • 东莞做网站怎么样搜狐综合小时报2022113011
  • 校园网站的意义融资渠道