温馨提示×

Docker Compose在Ubuntu如何使用

小樊
39
2025-11-28 18:27:30
栏目: 智能运维

在 Ubuntu 上使用 Docker Compose 的完整指南

一 安装与准备

  • 安装 Docker(如尚未安装):
    • 更新索引并安装依赖:sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    • 添加 Docker 官方 GPG 密钥与仓库,然后安装:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -;sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”;sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
    • 启动并设置开机自启:sudo systemctl enable --now docker
    • 验证:sudo docker run --rm hello-world
  • 安装 Docker Compose(二选一):
    • 方式 A(推荐,二进制安装,便于获取新版本):在发布页选择版本号(示例为 v2.6.0,可按需替换),执行:sudo curl -L “https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
    • 方式 B(APT 安装,版本可能较旧):sudo apt update && sudo apt install -y docker-compose
  • 验证安装:docker-compose --version(若提示命令未找到,检查 /usr/local/bin 是否在 PATH 中,或创建软链:sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose)
  • 免 sudo 使用 Docker(可选):sudo usermod -aG docker $USER,随后重新登录以生效。

二 快速上手 Nginx 示例

  • 准备目录与页面:
    • mkdir -p ~/compose-demo/app && cd ~/compose-demo
    • echo ‘<!doctype html>

      Docker Compose Demo

      ’ > app/index.html
  • 创建 docker-compose.yml:
    • version: ‘3.7’ services: web: image: nginx:alpine ports: - “8000:80” volumes: - ./app:/usr/share/nginx/html
  • 启动服务:docker-compose up -d(首次会自动拉取镜像)
  • 验证与访问:
    • 查看状态:docker-compose ps(应看到 0.0.0.0:8000->80/tcp 的映射)
    • 访问页面:本机浏览器打开 http://localhost:8000;服务器用 http://服务器IP:8000
  • 常用管理命令:
    • 查看日志:docker-compose logs -f
    • 进入容器:docker-compose exec web sh
    • 停止/启动/重启:docker-compose stop|start|restart
    • 完全清理(删除容器与网络):docker-compose down。

三 常用命令速查

  • 启动/后台启动:docker-compose up / docker-compose up -d
  • 查看状态与日志:docker-compose ps;docker-compose logs -f
  • 进入容器:docker-compose exec <服务名> sh/bash
  • 停止/启动/重启/重建:docker-compose stop|start|restart|up --build
  • 清理:docker-compose down(加 -v 同时删除匿名卷)
  • 其他:docker-compose rm(删除已停止容器);docker-compose config(校验并展示配置)。

四 实用建议与排错

  • 权限问题:执行 docker 或 docker-compose 报“权限被拒绝”,请将当前用户加入 docker 组并重新登录,避免使用 sudo 运行容器命令。
  • 版本选择:生产环境建议使用较新的 Compose(如 v2.x)。若 APT 源版本偏旧,优先采用二进制安装方式并指定所需版本号。
  • 配置文件:确保使用 version 与所用 Docker 引擎兼容;常见为 3.x。YAML 缩进需使用空格,避免 Tab。
  • 端口与防火墙:如访问不到 8000 端口,请确认云服务器安全组/本机防火墙已放行该端口(例如 UFW 或 firewalld 放行 8000/tcp)。

0