当前位置: 首页 > news >正文

docker-compose 如何安装、使用及快速入门?

对于单机多容器应用编排,推荐通过官方渠道安装 Docker Compose,使用 docker-compose.yml 配置文件管理服务,适合开发、测试及中小型生产环境。

先说结论:Docker Compose 是 Docker 官方提供的多容器编排工具,通过 YAML 文件定义服务,一条命令即可启动完整应用栈。

  • 适合:单机多容器应用、开发测试环境、微服务本地调试
  • 先看:安装方式选择(插件版或独立二进制)、compose 文件版本兼容性
  • 建议:优先使用 docker compose 插件命令,生产环境注意版本锁定和配置备份

命令速用版

安装后常用命令如下,可直接在终端执行:

# 查看版本确认安装成功
docker-compose `--version`# 启动所有服务(前台)
docker-compose up# 启动所有服务(后台)
docker-compose up -d# 停止并删除容器、网络、卷
docker-compose down# 查看运行中的容器
docker-compose ps# 查看服务日志
docker-compose logs <service># 进入容器执行命令
docker-compose exec <service> <command># 重新构建镜像
docker-compose build# 重启服务
docker-compose restart

为什么会这样

Docker Compose 解决的核心问题是:当应用由多个容器组成时,手动执行多条 docker run 命令容易出错且难以维护。通过 docker-compose.yml 文件,你可以将服务定义、网络配置、卷挂载等信息集中管理,使用单个命令完成整个应用栈的启动。

Compose 管理三个层级内容:工程(运行目录)、服务(子项目)、容器(服务实例)。但需要注意,它只能在单一主机上进行编排,跨节点编排需要使用 Docker Swarm 或 Kubernetes。

分步处理

1. 安装 Docker Compose

有两种主流安装方式,任选其一即可:

方式一:作为 Docker 插件安装(推荐)

# CentOS/RedHat 系统
yum install -y docker-compose-plugin# 验证安装
docker compose version

安装后使用 docker compose 命令(无连字符)。

方式二:独立二进制安装

# 下载安装包(版本号需替换为实际版本)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose# 验证安装
docker-compose `--version`

安装后使用 docker-compose 命令(有连字符)。

2. 编写 docker-compose.yml

在项目根目录创建配置文件,基本结构如下:

version: "3.9"
services:web:build: .ports:- "8080:8080"volumes:- .:/codedb:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: password

常用字段说明:build 指定 Dockerfile 路径,image 指定镜像,ports 暴露端口,volumes 挂载卷,environment 设置环境变量,depends_on 定义服务依赖。

3. 启动应用

# 进入配置文件所在目录
cd /path/to/your/project# 启动所有服务
docker-compose up -d# 查看服务状态
docker-compose ps

怎么验证是否生效

完成安装和配置后,按以下步骤验证:

  1. 验证安装:执行 docker-compose `--version`docker compose version,有版本号输出即表示安装成功
  2. 验证服务启动:执行 docker-compose ps,所有服务状态应显示为 Up
  3. 验证端口映射:执行 docker-compose port <service> <port> 查看端口映射,或使用 curl 测试服务可访问性
  4. 验证日志:执行 docker-compose logs <service> 查看服务启动日志,确认无报错
  5. 验证网络:执行 docker network ls 查看是否创建了自定义网络,服务间可通过服务名互相访问

常见坑

  • 命令混用:插件版使用 docker compose,独立版使用 docker-compose,两者不要混用
  • 版本兼容性:docker-compose.yml 的 version 字段需与 Compose 版本匹配,公开资料中没有看到可靠的版本兼容性量化对照表,建议参考官方文档
  • 容器名称冲突:如果指定 container_name,该服务无法使用 scale 命令扩容,因为容器名称必须唯一
  • 端口限制:ports 映射的端口不能低于 60
  • 网络隔离:Compose 会创建默认自定义网络(bridge 类型),而非使用默认 docker0 桥接网络,服务间可通过服务名直接访问
  • 跨主机限制:Compose 只能用于单一主机编排,无法跨节点,多主机场景需考虑 Swarm 或 K8s
  • 配置变更:修改 yml 后需执行 docker-compose up `--force-recreate` 重新加载配置

参考来源

  • Docker 官方文档 - Docker Compose 安装指南:https://docs.docker.com/compose/install/
  • Docker 官方文档 - Compose 文件格式:https://docs.docker.com/compose/compose-file/compose-file-v3/
  • 阿里云开发者社区 - Docker Compose 安装及入门使用
  • 阿里云开发者社区 - docker-compose 快速入门及实战
  • 博客园 - 单机编排工具之 docker-compose 快速入门使用

原文链接:https://www.zjcp.cc/ask/10128.html

http://www.jsqmd.com/news/768786/

相关文章:

  • 湖北工业大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • 把旧笔记本变成Mac服务器:用PVE虚拟化macOS Monterey搭建iOS开发/测试环境
  • 基于MCP协议的Figma设计系统与AI开发工具集成实践
  • AI驱动的React代码审查助手:架构、部署与调优实践
  • 高速局域网文件传输工具:手机扫码即传,数据安全不经过互联网
  • ContentClaw:基于AI与SEO策略的自动化内容生成引擎实战指南
  • 上海工程技术大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • 河南农业大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • Docker镜像可信供应链构建:从Harbor签名验签、SBOM生成到证监会《证券期货业软件供应链安全指引》全项达标路径
  • Docker化vnStat:轻量级网络流量监控方案部署与集成指南
  • 如何高效导出微信聊天记录:开源工具WeChatMsg完整指南
  • MCP 2026沙箱隔离策略失效?3类典型误配置导致横向渗透的7个致命信号(附实时检测脚本)
  • 闽江学院考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • Python开发者如何快速接入Taotoken并调用OpenAI兼容接口
  • 济南大学考研辅导班机构选择:排行榜单与哪家好评测 - michalwang
  • 别再被‘慢速充电器’劝退!手把手教你用PD诱骗器+解码芯片搞定戴尔笔记本氮化镓快充
  • 暗黑破坏神2宽屏补丁终极指南:三步让你的经典游戏焕然一新
  • Claude Code CLI源码深度解析:五层架构、40+工具与AI代理安全设计
  • 为LLM Agent构建持久化工作记忆:oml-event-log事件日志实践
  • SenseVoice全能语音模型:非自回归架构与多任务统一建模实战
  • 机器学习模型监控实战:使用Evidently实现数据漂移检测与自动化预警
  • 2026年别再为降AI破防!这份降AI工具合集助你告别AIGC率,成功‘上岸’! - 降AI实验室
  • Caveman: Why use many token when few token do trick —— 当极简主义遇上 Token 经济学
  • 如何用SketchUp STL插件快速实现3D打印格式转换:终极完整指南
  • 利用快马平台快速原型设计,十分钟搭建dnf连发工具demo验证核心逻辑
  • VTP 含义 + 运作过程 + 注意事项
  • 收藏必备!小白程序员必看:用LangGraph打造强大智能体Agent的实用指南
  • 个人开发者如何借助 Taotoken 以更低成本体验多种顶尖 AI 模型
  • Apple Silicon GPU加速降维算法实现与优化
  • CSS Anchor Positioning:CSS 锚点定位完全指南