- 博客(363)
- 收藏
- 关注
原创 Docker Swarm 与 Kubernetes 在集群管理上的主要区别
你需要…推荐使用…快速上手、部署简单企业级部署、高可用、弹性调度Kubernetes微服务架构、复杂依赖、自动伸缩Kubernetes小团队、自主可控项目对比点Kubernetes学习成本低高部署复杂度简单复杂集群稳定性中高扩展性有限极强(CRD、Operator)社区活跃度较低(维护中止)高,主流编排方案。
2025-06-20 17:26:36
301
原创 Docker Swarm 与 Docker Compose 对比解析
Docker Swarm 和 Docker Compose 都是 Docker 生态系统中的重要工具,但它们的定位和使用场景有显著不同。
2025-06-20 17:23:54
244
原创 如何使用 Dockerfile 创建自定义镜像
Dockerfile 是一个文本文件,定义了如何构建 Docker 镜像的指令脚本。每条指令都会创建镜像的一层。myapp/├── app.py指令作用FROM指定基础镜像(必须第一行)WORKDIR设置容器内工作目录COPY拷贝文件到容器RUN执行命令(如安装依赖)ENV设置环境变量EXPOSE声明端口(不映射,仅用于说明)CMD容器启动时默认执行命令ENTRYPOINT设置主执行命令(可与 CMD 结合)
2025-06-20 17:14:24
266
原创 在 CI/CD 流程中使用 Jenkins 与 Docker 集成
Jenkins 与 Docker 集成,可以将代码自动构建成镜像,推送到镜像仓库,并实现远程自动部署,构建起现代 CI/CD 的主干流程。
2025-06-20 11:21:23
286
原创 在docker里面怎么配置和管理环境变量
场景用法Dockerfile 中写死变量启动时传变量or--env-fileCompose 配置变量.env文件动态配置/安全注入推荐外部传入,不写死在镜像中如果你需要:✅ 在 Docker 容器中读取数据库配置、环境标识等,✅ 使用.env文件多环境切换,✅ 或你想让 Java 程序读取环境变量作为配置,
2025-06-20 10:00:49
656
原创 Docker Swarm
Swarm 是 Docker 官方提供的容器编排系统,用于统一管理多台 Docker 主机,实现分布式服务部署与自动调度。它的作用类似于 Kubernetes,但更轻量、易上手。Docker Swarm 是轻量级、原生支持的容器编排方案,适合中小型项目、开发环境快速部署;如需更复杂调度策略或云原生集成,推荐用 Kubernetes。
2025-06-20 09:45:59
283
原创 Docker如何实现容器之间的通信
通信方式说明与特点通过容器名通信推荐,自定义网络或 docker-compose 默认支持宿主机 IP + 映射端口最通用但性能差host 网络通信高性能但需管理端口冲突overlay 网络通信多主机通信(Swarm/集群用)
2025-06-19 17:52:35
286
原创 docker 如何优化容器启动时间
优化手段说明效果用 Alpine/Distroless小镜像体积 + 少依赖⭐⭐⭐⭐合并 RUN 层减少构建层 + 缓存优化⭐⭐⭐多阶段构建去除编译依赖⭐⭐⭐⭐避免复杂入口脚本快速进入应用主进程⭐⭐预拉镜像 + 缓存依赖网络环境差场景提升显著⭐⭐⭐⭐容器启动慢,多半是“镜像臃肿 + 脚本复杂 + 网络依赖”,通过精简镜像、优化 CMD、提前缓存依赖、异步初始化,可显著加速启动时间。
2025-06-19 17:38:56
524
原创 Docker 数据卷(Volume)
容器删除后数据仍然保留多容器共享数据宿主机与容器之间安全读写适配数据库、日志、配置文件等持久化需求命令或概念用法示例创建具名卷查看所有卷删除卷挂载具名卷挂载宿主路径。
2025-06-19 16:34:32
355
原创 Docker 日志
json-file场景命令或技巧实时看日志docker logs -f 容器看错误日志`docker logs 容器限制日志大小查看原始日志文件多容器统一查看。
2025-06-19 16:15:52
308
原创 Ubuntu 和 CentOS 中配置静态 IP
在 Ubuntu 和 CentOS 中配置静态 IP 的方法有所不同,主要因为两者使用的网络管理工具不同。(文件名可能不同,但位于。
2025-06-19 14:55:00
286
原创 Alpine Linux 简介
Alpine Linux 是一个轻量级的 Linux 发行版,专为安全性、简单性和资源效率而设计。,使得其镜像非常小(通常只有几 MB),非常适合容器化环境(如 Docker)。由于体积小,许多官方镜像(如。)都基于 Alpine 构建。
2025-06-19 11:12:33
721
原创 Docker 镜像与容器的区别
Docker 镜像和容器是 Docker 技术的两个核心概念,它们之间的关系类似于面向对象编程中"类"和"实例"的关系。
2025-06-19 10:59:58
195
原创 怎么保证 Docker 代码执行程序安全性
Docker 提供了基础隔离机制,但不是天然安全沙箱,若运行用户上传代码,必须配合非 root 用户、资源限制、网络隔离、只读 FS、系统调用过滤、运行时沙箱(如 gVisor)等方式综合防护。如你有要构建的“代码在线执行平台”、“在线评测系统”等需求,我可以帮你设计一套完整的 Docker 沙箱安全架构。是否需要?
2025-06-19 10:37:39
843
原创 常见 Web 服务器
静态网站推荐Nginx,Java 项目推荐Tomcat,微服务推荐Spring Boot + 内嵌 Jetty/Undertow,企业级项目可选WildFly或GlassFish。
2025-06-19 10:16:00
527
原创 Ubuntu 中修改网卡 IP
在 Ubuntu 中修改网卡 IP 地址可以通过以下方法实现,具体取决于你使用的网络管理工具(如netplanifconfigip命令或传统interfaces文件)。
2025-06-19 10:08:11
822
原创 docker-compose和Kubernetes (K8s)
特性定义方式文件YAMLmanifests(多种资源文件)启动命令运行模式单机或 Docker Swarm(伪分布式)多节点集群,真正的分布式容器编排状态管理不具备真正状态管理具备自动重启、自愈、扩缩容、滚动更新等网络能力使用 Docker 提供的默认网络桥支持多种网络插件(CNI),灵活强大存储能力支持简单的 volume 映射支持持久卷(PVC)、动态存储、StorageClass服务发现依赖自定义网络或手动配置。
2025-06-19 09:33:32
881
原创 Dockerfile 和 docker-compose.yml
Dockerfile和FROMRUNCOPY/ADDEXPOSEservicesbuildportsvolumesdepends_onfill:#333;color:#333;color:#333;fill:none;构建启动Dockerfile自定义镜像公共镜像多容器应用。
2025-06-18 17:42:48
943
原创 设置时区GMT和UTC
GMT 是历史天文时间标准,UTC 是现代精确时间标准。大多数场景使用 UTC 更准确、更通用。如你在 Docker、Linux、Java、数据库等场景中设置时区,统一写成或TZ=UTC是最推荐做法,不建议直接用GMT+08,因为容易引起歧义(尤其 GMT+8 在 Java 和 Linux 里可能被理解为UTC-8如果你需要我可以详细讲讲这个坑。
2025-06-18 17:16:42
313
原创 x86 和 ARM 的区别本质上是 CPU 架构
随着技术进步(如苹果 M 芯片),两者的界限正在模糊,但架构差异仍是底层核心区别。,这两种架构的设计理念、指令集和应用场景有显著差异。
2025-06-16 10:11:25
511
原创 Docker 网络模式
所有容器在同一网络app_net内;支持 DNS 解析,可以用容器名访问其他容器。微服务通信(Kafka、Redis、MySQL、Tomcat、Nginx…);多个项目共享网络。
2025-06-12 11:46:05
332
原创 Java实现高速视频下载方案
通过以上方案,Java可以实现高效稳定的视频下载功能,实际测试中可以达到接近带宽上限的下载速度。:使用FileChannel.transferFrom():对于超大文件,使用MappedByteBuffer。:如果服务器支持,可以启用压缩。:根据网络带宽动态调整线程数。
2025-06-09 10:39:04
275
原创 Redis数据倾斜问题解决
Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。
2025-06-09 09:04:12
644
原创 Podman 和 Docker
用于创建、运行和管理容器。它们有很多相似之处,但也存在关键区别。下面从多个维度对比它们,并给出适用场景建议。Podman 和 Docker 都是。两者可以共存,甚至可以通过。
2025-06-06 16:21:27
792
原创 Canal详解
基于 binlog,不影响线上性能支持事务、行级数据变更支持 Kafka、RocketMQ 等异步消费方式灵活可扩展,开源生态活跃。
2025-06-06 15:22:29
734
原创 Linux的交换区
交换区(Swap)是 Linux 系统用于扩展内存的一种机制,它将部分磁盘空间虚拟成内存使用。当物理内存(RAM)不足时,系统会将不活跃的内存页移动到交换区,从而避免进程因内存不足(OOM)被强制终止。合理配置 Swap 可提升系统稳定性,但。
2025-05-28 16:11:04
472
原创 硬件实时时钟(RTC)
硬件实时时钟(Real-Time Clock,RTC)是计算机主板上的一个独立计时芯片,用于在系统关机后持续记录时间。它不依赖操作系统,由纽扣电池(如CR2032)供电,保证时间数据持久化。由Linux内核维护,依赖CPU计时和NTP同步,关机后失效。若未检测到,可能是主板驱动问题或电池失效。物理芯片记录的时间,持久化存储。
2025-05-28 15:37:33
876
原创 Linux软链接的目的
优势描述灵活指向任意文件或目录跨文件系统可在不同挂载点之间创建易于管理切换目标简单节省空间不复制文件如你有具体部署场景,我可以给你示例脚本配置软链接。
2025-05-28 15:02:05
216
原创 Linux 中root 用户切换至其他用户
仅切换用户身份,不改变当前工作目录和环境变量。在 Linux 系统中,su - 目标用户名。su - 目标用户名。
2025-05-28 14:49:28
441
原创 Linux 中常见的安全与权限机制
类型机制功能文件权限控制文件访问用户管理控制系统访问特殊权限控制执行行为系统安全高级访问控制认证机制提高认证安全审计机制日志、history、fail2ban安全追踪与防护资源控制限制系统滥用。
2025-05-28 14:39:49
516
原创 Linux 系统中环境变量的配置方法
通过合理配置环境变量,可以灵活管理 Linux 系统的运行环境。在 Linux 系统中,环境变量的配置方法多样,主要分为。两种方式,同时根据作用范围可分为。
2025-05-28 14:31:53
401
原创 Maven 项目中集成数据库文档生成工具
在 Maven 项目中,可以通过集成(如或liquibase)来自动生成数据库文档。以下是使用 screw-maven-plugin。
2025-05-28 14:17:15
903
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人