Docker 的笔记,覆盖 查看、运行、终止容器,docker run 与 docker-compose 的区别,以及 Compose 文件作用,方便快速回顾:


Docker 使用笔记

1️⃣ 查看容器

查看正在运行的容器

docker ps
  • 显示容器 ID、名字、镜像、端口映射、状态等

查看所有容器(包括停止的)

docker ps -a

查看容器日志

docker logs -f <container_name_or_id>
  • -f → 实时输出日志

进入容器交互

docker exec -it <container_name_or_id> sh
  • 可以执行命令、查看文件、调试

2️⃣ 终止容器

停止所有 docker-compose 启动的服务

docker-compose -f docker-compose.yml down
  • 停止并删除容器
  • 保留卷(默认)
  • 如果加 -v → 也删除卷

停止单个容器

docker stop <container_name_or_id>

删除单个容器(可选)

docker rm <container_name_or_id>

强制停止并删除所有容器(慎用)

docker rm -f $(docker ps -aq)

3️⃣ 运行容器

方式 A:docker run

docker run -d -p 6379:6379 redis
  • -d → 后台运行
  • -p <宿主机端口>:<容器端口> → 端口映射
  • 启动单个容器,适合简单、临时测试

方式 B:docker-compose

docker-compose -f docker-compose.yml up -d
  • 可以同时启动 多个服务
  • 支持服务依赖、卷挂载、网络隔离、环境变量
  • 配置通过 docker-compose.yml 文件管理
  • docker-compose down 停止整个项目

4️⃣ docker run 与 docker-compose 区别

特性 docker run docker-compose
服务数量 单个 多个(服务组)
配置方式 CLI 参数 YAML 文件集中管理
卷/网络 单独指定 可集中配置,自动创建
服务依赖 depends_on 支持依赖启动顺序
重用性 高,方便团队共享

5️⃣ docker-compose.yml 文件作用

  • 定义服务services:

    • 每个服务对应一个容器
    • 可配置镜像、命令、端口、卷、环境变量、依赖关系、重启策略等
  • 定义数据卷volumes:

    • 持久化容器数据
    • 可在不同服务间共享(可选)
  • 默认行为

    • Compose 会为当前目录创建独立网络
    • 容器命名格式:<项目名>_<服务名>_<序号>
    • 卷命名格式:<项目名>_<卷名>

6️⃣ 常用操作总结

操作 命令
启动项目 docker-compose up -d
停止项目 docker-compose down
查看运行容器 docker ps
查看所有容器 docker ps -a
查看日志 docker logs -f <name>
进入容器 docker exec -it <name> sh
停止单个容器 docker stop <name>
删除容器 docker rm <name>
运行单容器测试 docker run -d -p <host>:<container> <image>

💡 Tips

  • 不同项目互不干扰,除非端口冲突
  • docker-compose 更适合多服务项目(如后端 + 前端 + 数据库 + 缓存)
  • docker run 适合单容器快速测试
  • 开发模式可以挂载卷,保留 node_modules、源码热更新
  • 生产模式建议多阶段 build,仅保留 dist + 必需依赖

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐