需借助Docker Compose进行声明式编排:一、安装Docker引擎;二、安装Docker Compose二进制文件;三、编写docker-compose.yml文件;四、启动与管理多容器应用;五、调试常见部署问题。

如果您希望在Linux系统中快速启动和管理多个相互关联的容器化应用,则需要借助Docker Compose进行声明式编排。以下是完成Docker Compose部署与多容器应用配置的具体步骤:
一、安装Docker引擎
Docker Compose依赖于Docker守护进程,必须先确保系统已安装并运行Docker。未安装时需手动添加官方仓库并安装稳定版本。
1、更新系统包索引:sudo apt update
2、安装必要依赖:sudo apt install -y ca-certificates curl gnupg lsb-release
3、添加Docker官方GPG密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4、添加Docker APT仓库源:echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5、再次更新包索引并安装Docker CE:sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
6、将当前用户加入docker组以避免每次使用sudo:sudo usermod -aG docker $USER
7、重启Docker服务并验证状态:sudo systemctl enable docker && sudo systemctl start docker && sudo systemctl status docker
二、安装Docker Compose二进制文件
Docker Compose不再随Docker Desktop集成,需单独下载兼容架构的二进制可执行文件,并赋予运行权限。
1、创建存放目录并进入:sudo mkdir -p /usr/libexec/docker/cli-plugins && cd /usr/libexec/docker/cli-plugins
2、下载最新稳定版docker-compose-plugin(推荐方式):sudo curl -SL https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-linux-x86_64 -o docker-compose
3、设置可执行权限:sudo chmod +x docker-compose
4、验证插件是否被Docker识别:docker compose version
三、编写docker-compose.yml编排文件
该文件定义服务、网络、卷等资源,是Docker Compose运行的核心配置。所有字段需严格遵循YAML语法缩进规范。
1、在项目根目录新建文件:nano docker-compose.yml
2、写入标准多容器示例(Nginx + Redis):version: '3.9'
3、在version下方添加services块,包含nginx服务定义:services:\n web:\n image: nginx:alpine\n ports:\n - "8080:80"\n depends_on:\n - redis
4、在同一services下追加redis服务定义: redis:\n image: redis:alpine\n volumes:\n - redis_data:/data
5、在文件末尾添加volumes声明:volumes:\n redis_data:
四、启动与管理多容器应用
通过单一命令即可拉取镜像、创建网络、挂载卷并启动全部服务。Docker Compose会自动处理依赖顺序与健康检查。
1、后台启动所有服务:docker compose up -d
2、查看运行中的服务列表:docker compose ps
3、实时查看日志输出(按Ctrl+C退出):docker compose logs -f
4、停止所有服务但保留卷和网络:docker compose stop
5、完全移除容器、网络、但不删除卷:docker compose down
6、彻底清除包括命名卷在内的所有资源:docker compose down -v
五、调试常见部署问题
当docker compose up失败时,通常源于配置语法错误、端口冲突或镜像不可达。需逐层定位原因。
1、检查YAML格式是否合法:docker compose config
2、查看最近一次失败的构建日志:docker compose logs web
3、手动运行单个服务以复现问题:docker compose run --rm web sh
4、确认宿主机端口未被占用:sudo ss -tuln | grep :8080
5、强制重新构建并拉取镜像:docker compose up -d --build --pull
6、清理孤立构建缓存以释放空间:docker builder prune -f










