必须先安装Docker引擎,否则docker-compose无法工作;UOS上安装docker-compose推荐下载官方二进制文件,其次可用pip3安装或应用商店安装,最后需通过docker-compose.yml测试验证是否能调用Docker服务。

在UOS(UnionTech OS)系统上部署多容器应用时,必须先让docker-compose命令可用,否则docker-compose.yml文件无法解析执行。
确认Docker是否已安装并运行
UOS基于Debian/Ubuntu体系,但默认不预装Docker。先检查Docker引擎状态:
执行 docker --version 和 sudo systemctl is-active docker。如果提示“command not found”或显示“inactive”,说明Docker未安装或未启用——【必须先完成Docker安装,否则docker-compose无法工作】。
若Docker已就绪,继续下一步;若未安装,请先按UOS官方文档安装Docker Engine(通常使用apt从uos-repo或docker官方源安装)。
安装Docker Compose的三种方式
UOS不提供docker-compose的官方deb包,需手动部署二进制文件或使用pip安装。
方法一:下载官方二进制(推荐)
第一步:进入临时目录,避免权限干扰:cd /tmp
第二步:执行下载命令,注意替换架构标识——UOS桌面版多为amd64,服务器版可能为arm64:sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
第三步:赋予可执行权限:sudo chmod +x /usr/local/bin/docker-compose
第四步:验证安装:docker-compose --version。若输出类似 docker-compose version 2.29.7,说明安装成功。
方法二:用pip3安装(需已安装python3-pip)
执行 sudo pip3 install docker-compose。这会把docker-compose安装到 /usr/local/bin/ 下,但部分UOS版本中pip3默认未启用,且可能因Python路径冲突导致命令不可用。
注意:若提示 ImportError: cannot import name 'main',说明pip版本过旧,需先运行 sudo python3 -m pip install --upgrade pip 再重试。
方法三:从UOS应用商店搜索“Docker Compose”(仅限部分UOS社区版)
打开“应用商店”→顶部搜索框输入“docker compose”→查找由UnionTech官方签名的应用→点击安装。该方式自动处理依赖与PATH,但版本常滞后于GitHub最新发布,且企业版UOS通常不提供此渠道。
验证docker-compose能否正常调用容器服务
创建一个最小测试用例:
新建目录并进入:mkdir ~/dc-test && cd ~/dc-test
创建 docker-compose.yml 文件,内容为:
version: "3.8"services: alpine: image: alpine:latest command: sleep 5
执行 docker-compose up。终端将拉取alpine镜像、启动容器并5秒后退出。若看到 Creating dc-test-alpine-1 ... done 和 Attaching to dc-test-alpine-1,说明docker-compose已能正确解析配置、调用Docker守护进程。
执行 docker-compose ps 查看当前服务状态,确认容器已运行并结束。


















