Linux如何部署Docker Compose_Linux多容器应用编排教程【云原生】
发布时间 - 2026-01-21 00:00:00 点击率:次需借助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 
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
# linux
# redis
# git
# docker
# github
# nginx
# web3
# 端口
# ubuntu
# ssl
# curl
# 架构
# echo
# print
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
如何彻底卸载建站之星软件?
如何在IIS7中新建站点?详细步骤解析
如何在VPS电脑上快速搭建网站?
Laravel怎么调用外部API_Laravel Http Client客户端使用
如何在IIS7上新建站点并设置安全权限?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
如何在IIS管理器中快速创建并配置网站?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何集成Inertia.js与Vue/React?(安装配置)
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
如何为不同团队 ID 动态生成多个非值班状态按钮
如何用腾讯建站主机快速创建免费网站?
Android 常见的图片加载框架详细介绍
高防服务器:AI智能防御DDoS攻击与数据安全保障
Python文件流缓冲机制_IO性能解析【教程】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何在万网利用已有域名快速建站?
如何快速生成凡客建站的专业级图册?
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
简历在线制作网站免费版,如何创建个人简历?
如何用JavaScript实现文本编辑器_光标和选区怎么处理
常州企业网站制作公司,全国继续教育网怎么登录?
在centOS 7安装mysql 5.7的详细教程
如何登录建站主机?访问步骤全解析
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
如何用好域名打造高点击率的自主建站?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
jQuery 常见小例汇总
Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel如何创建自定义Artisan命令?(代码示例)
JavaScript如何实现路由_前端路由原理是什么
如何确保FTP站点访问权限与数据传输安全?
jQuery validate插件功能与用法详解
Python数据仓库与ETL构建实战_Airflow调度流程详解
网站建设保证美观性,需要考虑的几点问题!
济南网站建设制作公司,室内设计网站一般都有哪些功能?
Laravel如何使用Blade组件和插槽?(Component代码示例)
lovemo网页版地址 lovemo官网手机登录
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
大型企业网站制作流程,做网站需要注册公司吗?

