【Docker项目实战】使用Docker部署withoutBG图像背景去除工具
一、withoutBG介绍
1.1 withoutBG简介
withoutBG是一个开源、由 AI 驱动的图像背景移除工具,支持本地处理与云端 API 两种模式。用户既可在本地运行模型以保障数据隐私,也可通过其托管的 withoutBG Pro API 获得更高质量的处理效果。项目采用现代化技术栈构建,部署简单,适用于个人和生产环境。
1.2 withoutBG主要特点
- 完全自托管(Self-Hosted):数据和处理全程在本地完成,确保隐私与安全。
- 生产就绪(Production Ready):基于 React 18、FastAPI 和 Vite 构建,稳定可靠。
- 双处理模式(Dual Processing Options):
- 本地运行轻量级 Focus 模型;
- 或调用 withoutBG Pro 托管 API 获取更高精度结果。
- 专业级图像质量:搭载 Focus v1.0.0 模型,输出清晰、边缘精准。
- 现代化用户界面:响应式设计,支持拖拽上传,操作直观流畅。
- 隐私优先(Privacy First):本地处理确保图像永不离开您的服务器。
- 一键部署(Easy Deploy):仅需一条 Docker 命令即可快速启动服务。
- 开源免费:采用 Apache 2.0 许可证,代码透明、可自由扩展与定制。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为 Ubuntu 24.04.2 LTS。
| hostname | IP地址 | 操作系统版本 | Docker版本 | 部署项目 | 备注 |
|---|---|---|---|---|---|
| jeven | 192.168.3.88 | Ubuntu 24.04.2 LTS | 28.5.0 | withoutBG | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署withoutBG图像背景去除工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven:~# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-12-02 00:51:31 CST; 1min 11s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 75393 (dockerd)
Tasks: 32
Memory: 34.1M (peak: 34.8M)
CPU: 1.248s
CGroup: /system.slice/docker.service

3.2 检查Docker版本
检查Docker版本
root@jeven:~# docker -v
Docker version 28.5.0, build 887030f
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven:~# docker compose version
Docker Compose version v2.39.4
四、拉取withoutBG文件传输工具镜像
下载withoutBG镜像,执行以下命令:
docker pull withoutbg/app:1.2

五、部署withoutBG服务
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/withoutBG/ && cd /data/withoutBG
5.2 docker compose方式部署
如果使用docker-cli方式部署,可参考以下命令:
# 运行容器
docker run -d \
--restart unless-stopped \
--name withoutbg \
-p 6700:80 \
withoutbg/app:1.2
新建及编辑docker-compose.yaml文件,宿主机映射端口可自行设置,注意防止端口冲突。
vim docker-compose.yaml
version: "3"
services:
withoutbg:
image: withoutbg/app:1.2
container_name: withoutbg
restart: always
ports:
- "7600:80"
5.3 创建withoutBG容器
执行以下命令,创建withoutBG容器。
docker compose up -d

5.4 查看withoutBG容器状态
检查withoutBG容器运行状态,确保withoutBG容器正常启动。
root@jeven:/data/withoutBG# docker compose ps
WARN[0000] /data/withoutBG/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
withoutbg withoutbg/app:1.2 "python -m uvicorn b…" withoutbg 30 seconds ago Up 30 seconds (healthy) 0.0.0.0:7600->80/tcp, [::]:7600->80/tcp
5.5 检查withoutBG容器日志
检查容器运行日志,确保withoutBG服务正常运行。
root@jeven:/data/withoutBG# docker compose logs
WARN[0000] /data/withoutBG/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion
withoutbg | Loading Open Source models...
withoutbg | INFO: Started server process [1]
withoutbg | INFO: Waiting for application startup.
withoutbg | INFO: Application startup complete.
withoutbg | ? Models loaded and ready for inference!
withoutbg | INFO: Uvicorn running on http://0.0.0.0:80 (Press CTRL+C to quit)
withoutbg | INFO: 127.0.0.1:37998 - "GET /api/health HTTP/1.1" 200 OK
withoutbg | INFO: 127.0.0.1:48180 - "GET /api/health HTTP/1.1" 200 OK

六、访问withoutBG服务
6.1 访问withoutBG首页
浏览器地址:
http://<个人的服务器IP>:7600,访问withoutBG初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

6.2 基本使用
将本地图片拖入上传区,即可看到图片背景已经去除了。

七、总结
本次实践通过 Docker 成功部署了 withoutBG 工具,操作流程清晰,依赖少,部署过程顺利。使用 docker compose 编排服务,简化了容器管理与配置。服务启动后可通过浏览器直接访问,界面简洁,支持拖拽上传图片并快速去除背景。整个过程验证了 withoutBG 在本地环境下的可用性与便捷性。
- 点赞
- 收藏
- 关注作者
评论(0)