打造最小化docker容器镜像

 本文章主要记录博主近几年的使用, 去除知识冗余 以最简单直接方式是记录如何打造最小化 docker 容器镜像以 提高构建速度 以及 容器优化 ,本次实验我们使用典型的 PHP镜像 为实验目标其他类型类似可以参考。概述 打造最小化docker容器镜像的几个步骤尽可能选择 alpine tag 类型镜像减少构建层数清理无用缓存数据分阶段构建alpine 镜像 如果是为了保持镜像最小化建议使用 alpine 镜像 本身 alpine 系统大小只有 5M 所有基于 alpine 系统构建的镜像要比基于其他系统镜像要小的多### 一、核心差异对比维度AlpineUbuntu/DebianCentOS镜像体积≈5 MBUbuntu: ≈72-188 MB Debian: ≈47-125 MB≈200-230 MB包管理器apk(轻量高效)apt(功能全面)yum(企业级支持)C库musl libc(轻量)glibc(兼容性强)glibc安全性默认最小化安装,攻击面小依赖较多,需手动精简企业级安全策略启动速度极快(资源消耗低)中等较慢减少构建层数在构建 dockerfile 是我们尽可能...

PHP,Golang,前端,.Net,数据库,Linux,解决方案,其他 2025-07-08 AM 135次 0条

使用FrankenPHP部署php网站程序

 使用 FrankenPHP 代替 nginx 和 php-fpm 部署 php程序网站程序 本次我们使用国内框架 ThinkPHP 作为部署目标,其他框架类似。FrankenPHP FrankenPHP 建立在 Caddy Web 服务器之上的现代 PHP 应用程序服务器,用 Go 编写。FrankenPHP 特性可伸缩 与 PHP 8.2+、大多数 PHP 扩展和所有 Caddy 模块兼容。唯一服务 设计简洁明了:只需要一个服务,只需要一个二进制文件!FrankenPHP 不需要 PHP-FPM,它使用为 Go web 服务器特别定制的自己的 SAPI。易于部署 作为Docker 镜像的云原生应用交付。兼容 Kubernetes 和所有现代云平台。也可以将您的 PHP 应用程序打包为独立的、自执行的静态二进制文件。Worker 模式 一次启动您的应用程序并保持其在内存中!它准备在几毫秒内处理传入请求。103 Early Hints 103 Early Hints 是 web 平台的一个全新特性,可以通过提前 30% 的时间加载网站。FrankenPHP 是唯一支持提前提示的 ...

PHP,Golang,解决方案 2025-05-15 PM 1181次 0条

Docker Compose 命令全解

本文主要记录分享 Docker Compose 命令相关解释方便日志快速查阅服务管理启动服务docker-compose up说明:启动所有服务,并在前台运行。常用参数:-d:以后台模式运行。-f:指定docker-compose文件。--build:启动前重新构建镜像。--force-recreate:强制重新创建容器。示例:docker-compose -f xxxx.yml up -d --build停止服务docker-compose down说明:停止并移除所有服务、网络和卷。常用参数:--volumes:同时删除卷。--rmi all:删除所有镜像。示例:docker-compose down --volumes重启服务docker-compose restart说明:重启所有服务。示例:docker-compose restart web查看服务状态docker-compose ps说明:列出所有服务的状态。示例:docker-compose ps日志管理查看日志docker-compose logs说明:查看所有服务的日志。常用参数:-f:实时跟踪日志输出。--t...

解决方案,其他 2025-03-26 AM 499次 0条