307 字
2 分钟
一个镜像装下全套工具链:apktool 项目的 Docker 与安全隔离
单镜像:网页、apktool、Java、SDK 全在一起
FROM python:3.11-slim-bookworm# + apktool_3.0.3.jar,一次 RUN 装完,sdkmanager licenses 自动确认版本全部 ARG 化:APKTOOL_VERSION、ANDROID_BUILD_TOOLS_VERSION,升级只改两个数字。部署时:
docker compose up -d --build# 打开 http://服务器IP:8090安全隔离:签名密钥不出服务端
这是我最在意的设计:
volumes: - ./wallet.jks:/app/wallet.jks:ro # 只读挂载 - ./apks:/app/apks:ro # 固定 APK 只读environment: SIGN_KEYSTORE: "/app/wallet.jks" SIGN_KEY_ALIAS: "wallet" SIGN_PASSWORD: "abc1234".dockerignore默认不把wallet.jks打进镜像,密钥只存在服务器目录- 客户页面只能选固定 APK、下点按钮,签名路径、别名、密码全部在服务端,HTML 里一个字都不出现
web_jobs/可写挂载做任务区,lab/做解包工作区,权限边界清晰
我的运维技能点
- 多工具链镜像:apt 体积控制(
--no-install-recommends+ 清 lists)、SDK 缓存清理,镜像不臃肿 - 配置分离:
.env/ compose environment 管密码,仓库只有示例 - 交付闭环:
DOCKER_DEPLOY.md写清本机测试 → 服务器上传清单 → 启动命令,客户照着敲就行
从 Python 后端、Android 打包链路到 Docker 交付,这就是我在 apktool 项目里的一条龙技能。更多实战,欢迎翻 Kanshi 板块其他文章。