云原生高级 docker到harbor的流程实践
一.部署docker1.配置软件仓库并安装docker-ce用阿里云源$ cat /etc/yum.repos.d/docker.repo EOF [docker] name docker baseurl https://mirrors.aliyun.com/docker-ce/linux/rhel/9.8/x86_64/stable/ gpgcheck 0 EOF $ dnf makecache $ dnf remove podman -y $ dnf install docker-ce -y2.配置docker服务与内核参数# dockerd 开启 iptables $ vim /lib/systemd/system/docker.service ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock --iptablestrue # 加载 br_netfilter 模块 $ echo br_netfilter /etc/modules-load.d/docker_mod.conf $ modprobe -a br_netfilter # 开启桥接与转发 $ cat /etc/sysctl.d/docker.conf EOF net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 net.ipv4.ip_forward 1 EOF $ sysctl --system $ systemctl enable --now docker二.docker的常规使用方法1.配置docker加速器$ cat /etc/docker/daemon.json EOF { registry-mirrors: [https://docker.1ms.run] } EOF $ systemctl restart docker $ docker info Registry Mirrors: https://docker.1ms.run/2.镜像与容器常用命令镜像docker images # 查看镜像 docker search nginx # 搜索镜像 docker pull nginx # 下载镜像 docker pull busybox Using default tag: latest latest: Pulling from library/busybox 37bb94b0940b: Pull complete 46500c34ad0c: Download complete Digest: sha256:fd7dc98638c8e305f4dc34e979f1c0fdfdcaeb0fbf8fcff77ae834b6da3d7e6e Status: Downloaded newer image for busybox:latest docker.io/library/busybox:latest docker history busybox:latest # 查看构建历史 docker save -o busybox-latest.tar busybox:latest docker load -i busybox-latest.tar # 导入 docker rmi busybox:latest # 删除容器docker run -d --name web nginx:1.26 # 后台运行 docker run -it --name busybox busybox:latest # 交互运行 docker ps # 运行中的容器 docker ps -a # 所有容器 docker start busybox # 启动已停止容器 docker attach busybox # 进入容器ctrlpq 退出且不停止 docker inspect busybox # 查看容器信息 docker exec busybox touch /root/haha # 非交互执行 docker exec -it web /bin/bash # 交互执行 docker stop busybox # 停止 docker kill busybox # 强制停止 docker rm -f busybox # 删除3.容器内外复制数据# 宿主机 - 容器 $ docker cp index.html webserver:/usr/share/nginx/html # 容器 - 宿主机 $ docker cp webserver:/usr/share/nginx/html/index.html /mnt4.提交容器更改容器内修改默认随容器删除而丢失用 commit 保存为新镜像$ docker commit webserver nginx-lee:v1三.容器镜像构建1.熟悉镜像构建用到的参数$ mkdir docker cd docker/ $ echo test test $ vim Dockerfile FROM busybox:latest LABEL Createrlee # 镜像元信息 COPY test /root # 只复制不解压缩 ADD lee /root # 可自动解压缩 ENV NAMEtest # 环境变量 RUN [/bin/sh,-c, touch /root/$NAME] EXPOSE 8080 # 声明端口 VOLUME /mnt # 匿名卷 WORKDIR /mnt # 工作目录 CMD [/bin/sh, -c, /bin/echo $NAME] # 可被命令行覆盖 ENTRYPOINT echo $NAME # 不可覆盖命令行参数作为其参数构建$ docker build -t test:v1 .2.利用debian13构建nginx镜像# 导入 debian13 基础镜像 $ docker load -i debian-latest.tar # 准备源码包 $ wget https://nginx.org/download/nginx-1.30.4.tar.gzDockerfileFROM debian:latest ADD nginx-1.30.4.tar.gz /mnt WORKDIR /mnt/nginx-1.30.4 RUN apt update apt install -y ca-certificates apt install -y build-essential libpcre2-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2-dev libxslt-dev ./configure --with-http_ssl_module --with-http_stub_status_module make make install EXPOSE 80 VOLUME [/usr/local/nginx/html] CMD [/usr/local/nginx/sbin/nginx, -g, daemon off;]构建$ docker build -t nginx-debian:v1 .四.安装 Harbor1.下载并解压 Harbor 离线包包放私有目录 /optcd /opt sudo wget https://github.com/goharbor/harbor/releases/download/v2.15.4/harbor-offline-installer-v2.15.4.tgz sudo tar xzf harbor-offline-installer-v2.15.4.tgz cd harbor2.配置 harbor.ymlsudo cp harbor.yml.tmpl harbor.yml sudo vim harbor.yml关键项hostname: 192.168.1.16 # hostname -I 查到的 IP别写 localhost http: port: 8080 # 避开端口冲突 # https: # 没证书就整段注释掉 # port: 443 # certificate: ... # private_key: ... harbor_admin_password: 你的密码 data_volume: /opt/harbor/data3.安装启动sudo ./prepare sudo ./install.sh sudo docker ps # 多个 goharbor/* 容器 healthy 即成功4.访问浏览器访问http://192.168.1.16:8080账号 admin密码为harbor_admin_password。报http: server gave HTTP response to HTTPS client Harbor 是 HTTP、Docker 默认走 HTTPS加 insecure-registries 即可。五.docker仓库使用手册1.构建简单仓库# 导入并运行 registry docker load -i registry-202608.tar docker run -d --name registry --restartalways -p 5000:8080 registry:latest推送前信任 HTTP 仓库vim /etc/docker/daemon.json { insecure-registries: [http://192.168.1.16:8080] } systemctl restart docker docker info # Insecure Registries 里能看到 192.168.1.16:8080上传 / 验证 / 跨节点下载docker tag nginx:1.27-alpine 192.168.1.16:8080/test/nginx:latest docker push 192.168.1.16:8080/test/nginx:latest curl http://192.168.1.16:8080/v2/_catalog # 第二节点同样配 insecure-registries 后 docker pull 192.168.1.16:8080/test/nginx2.仓库数据传输加密生成证书CN 和 SAN 写仓库域名mkdir certs openssl req -newkey rsa:4096 -nodes \ -keyout certs/test.org.key \ -addext subjectAltName DNS:reg.test.org \ -x509 -days 365 -out certs/test.org.crt启动加密仓库docker run -d --name registry --restartalways -p 443:443 \ -v /root/certs:/certs -v lib/registry \ -e REGISTRY_HTTP_ADDR0.0.0.0:443 \ -e REGISTRY_HTTP_TLS_CERTIFICATE/certs/test.org.crt \ -e REGISTRY_HTTP_TLS_KEY/certs/test.org.key \ registry客户端加载证书否则报x509: certificate signed by unknown authorityvim /etc/hosts 192.168.1.16 reg.test.org mkdir -p /etc/docker/certs.d/reg.test.org cp certs/test.org.crt /etc/docker/certs.d/reg.test.org/ca.crt systemctl restart docker docker tag busybox:latest reg.test.org/busybox:latest docker push reg.test.org/busybox:latest curl -k https://reg.test.org/v2/_catalog第二节点下载把certs.d目录 scp 过去、配 hosts、重启 docker再docker pull reg.test.org/busybox:latest。六.docker网络1.自定义网络 bridgedocker network ls # 查看现有网络 docker network create mynet1 # 默认自定义桥接 docker network create mynet2 --subnet 192.168.0.0/16 --gateway 192.168.0.100 # 指定网段网关 docker network inspect mynet2 # 查看网段与网关2.自定义桥接网络有解析功能默认 bridge 不提供解析容器重启后 IP 会变ping 容器名直接bad address。自定义网络可用容器名通信docker run -it --name test1 --networkmynet1 busybox:latest docker run -d --name test --networkmynet1 nginx:latest # test1 里 ping test # 能解析到对方 IPIP 变化后仍可通信

相关新闻

CANoe 10.0安装失败原因:驱动签名、VC++运行库与许可证服务配置

CANoe 10.0安装失败原因:驱动签名、VC++运行库与许可证服务配置

简介:本资源是一份面向汽车电子工程师、嵌入式开发人员及高校相关专业学习者的 CANoe 10.0 安装实操指南,聚焦解决 Vector 官方工具部署过程中的权限配置、依赖组件安装、License 激活等高频卡点问题。PDF 文档结构清晰,完整覆盖安装前系统要…

2026/10/17 5:59:31 阅读更多 →
500 万测点、1956 亿行:KES 如何让时序数据存得更省、写得更快?

500 万测点、1956 亿行:KES 如何让时序数据存得更省、写得更快?

工业互联网、能源数字化与智能制造的快速推进,让设备监测、电力采集、生产过程指标等时序数据的规模持续攀升。对长期运行的业务系统来说,时序数据库不仅要扛住实时写入与查询,还得解决海量历史数据的长期保存、快速加载与高效管理。围绕工业…

2026/10/16 3:17:02 阅读更多 →
不只是命令行补全:GitHub Copilot SDK 如何把 CLI 智能体引擎嵌入企业工作流?

不只是命令行补全:GitHub Copilot SDK 如何把 CLI 智能体引擎嵌入企业工作流?

不只是命令行补全:GitHub Copilot SDK 如何把 CLI 智能体引擎嵌入企业工作流? 在很多开发者的刻板认知中,GitHub Copilot 依然被等同于 IDE 里的“灰色幽灵代码提示”或者终端里偶尔唤起的单次命令翻译器。然而,随着智能体&#…

2026/10/17 5:59:28 阅读更多 →

最新新闻

Linux C++环境用Zxing-cpp解析图片二维码的实战指南

Linux C++环境用Zxing-cpp解析图片二维码的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:55:49 阅读更多 →
Quick BI连续入围Gartner魔力象限:业务人员自助分析实战与选型指南

Quick BI连续入围Gartner魔力象限:业务人员自助分析实战与选型指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:55:49 阅读更多 →
VTK像素拾取全流程解析:从屏幕坐标到体素坐标的交互实现

VTK像素拾取全流程解析:从屏幕坐标到体素坐标的交互实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:55:49 阅读更多 →
Storyboard本地化:基于.strings实现iOS/macOS多语言

Storyboard本地化:基于.strings实现iOS/macOS多语言

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:55:49 阅读更多 →
Node.js中间层实现股票价格可靠显示与错误处理

Node.js中间层实现股票价格可靠显示与错误处理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:55:49 阅读更多 →
机器学习入门:从学习范式到反向传播的核心概念全解析

机器学习入门:从学习范式到反向传播的核心概念全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:54:48 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →