
kohya_ss Docker 部署3 条命令跑通 SD 训练环境附高频排坑清单【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_sskohya_ss Docker 部署解决的是搭建 Stable Diffusion 训练环境中最耗时的环节Python 版本、CUDA 依赖与包冲突已被预先封装主机只需装好 Docker 与 NVIDIA 驱动。kohya_ss 是一款图形化训练工具支持 LoRA、DreamBooth 与全量微调。使用预构建镜像时从克隆仓库到 GUI 可访问大约需要 10–30 分钟取决于镜像拉取速度本地构建镜像则最长约 20 分钟。本文面向 Docker 新手覆盖最短启动路径、关键配置白话解读、日常运维对照与高频故障排查。kohya_ss Docker 部署最短步骤3 条命令启动先确认主机环境已安装 NVIDIA 显卡驱动和 Docker。Windows 上 Docker Desktop 需使用 WSL2 后端Linux/macOS 还需安装 NVIDIA Container Toolkit——它是让容器能调用物理 GPU 的必备组件缺少它容器内只会看到 CPU。# 克隆仓库--recursive 必须保留用于拉取 sd-scripts 子模块中的训练引擎代码 git clone --recursive https://gitcode.com/GitHub_Trending/ko/kohya_ss # 进入项目目录 cd kohya_ss # 启动 kohya-ss-gui训练 GUI与 tensorboard 两个容器 docker compose up -d为什么必须带--recursive训练引擎脚本放在 git 子模块里漏掉该参数仓库将缺少核心代码后续本地构建会直接失败。容器起来后需手动在浏览器访问http://localhost:7860训练 GUI与http://localhost:6006TensorBoard 指标面板容器模式不会自动弹出浏览器。若不想用预构建镜像改用docker compose up -d --build本地构建即可。 镜像、容器与目录映射compose 配置白话解读把镜像理解成一份密封的备餐盒Python 3.11、PyTorchCUDA 12.8与全部依赖已装好开箱即用容器则是这份备餐盒的一个运行实例。官方把容器设计成一次性的——随时销毁重建所以重要数据一律不放进容器内部而是通过docker-compose.yaml的卷映射volume mapping主机目录与容器路径之间的通道从外部挂进去。两组映射最关键./dataset:/dataset训练数据必须放在主机dataset/子目录容器内/dataset是数据主入口其中dataset/images、dataset/logs、dataset/outputs还分别映射到/app/data、/app/logs、/app/outputs。目录命名规范如30_cat这类编号前缀、同名.txt描述文件见 数据集文件夹结构文档。./models:/app/models与./.cache/*模型与用户配置、缓存分别落在models/、.cache/这是重建容器不丢配置的关键。为什么这样设计容器可随时丢弃数据不能丢。把这几组目录映射出来任何时候执行docker compose down都不会损失训练结果与设置。另注意 TensorBoard 并不包含在 GUI 镜像内而是独立的tensorflow/tensorflow:latest-gpu容器日志目录同样指向dataset/logsGUI 里的启动按钮也因此被隐藏。kohya_ss 日常运维场景与命令对照场景命令首次启动docker compose up -d停止并删除容器数据保留在主机目录docker compose down拉取最新预构建镜像更新docker compose down docker compose up -d --pull always拉取新代码后本地构建更新docker compose down git pull docker compose up -d --build实时查看 GUI 容器日志docker compose logs -f kohya-ss-gui查看 GPU 占用nvidia-smi进入容器排查docker exec -it kohya-ss-gui bash为什么更新统一走downup镜像按一次性设计先彻底删除旧容器再重建可避免旧状态残留这也是 Docker 部署文档 给出的标准更新流程。️ kohya_ss Docker 部署高频故障排查问题 1容器在运行但 7860 打不开症状docker compose ps显示容器正常浏览器访问localhost:7860无响应。原因容器模式不自动拉起浏览器或 7860 被本机其他服务占用。解决手动打开http://localhost:7860若端口被占把 compose 中 GUI 映射改为7861:7860后重启。TensorBoard 端口则在.env文件中通过TENSORBOARD_PORT修改。问题 2训练走了 CPUGPU 无占用症状训练极慢nvidia-smi看不到容器进程。原因主机未安装 NVIDIA Container Toolkit。compose 里的 GPU 声明只是意向没有该组件容器根本看不到显卡。解决安装 NVIDIA Container Toolkit 后重启 Docker 服务。问题 3本地构建报错提示缺少 sd-scripts 文件症状docker compose up -d --build中途失败。原因克隆时漏了--recursive子模块未拉取。解决重新执行带--recursive的 clone。问题 4GUI 里文件选择按钮没反应症状无法通过文件选择器指定数据集。原因镜像以--headless运行文件选择器与本地弹窗被刻意移除防止界面在容器内卡死。解决在文本框手动填写容器内路径如/app/data并把数据放到对应的主机映射目录。问题 5训练时找不到数据症状任务启动后提示数据集为空。原因数据放错位置容器只能看到dataset/映射进来的内容。解决按 目录结构文档 把数据整理到dataset/需要附加 mask 标注时可参照test/masked_loss/中这类灰度标注图的用法。收尾如何验证部署成功kohya_ss 的 Docker 部署本质是一份密封镜像 几组持久化目录读懂 compose 就能在任何装了 Docker 的机器上复现同一套训练环境。以下是三条可直接执行的验证动作运行docker compose ps确认kohya-ss-gui与tensorboard两个容器均为 running并手动访问http://localhost:7860能进入 GUI。在dataset/放入一组测试数据跑一次短训练访问http://localhost:6006确认 TensorBoard 出现指标曲线。修改 compose 中models/、dataset/的映射路径到自定义位置执行docker compose down docker compose up -d复验数据仍可正常读写。【免费下载链接】kohya_ss项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考