侧边栏壁纸
博主头像
莪想蓠閞烺烺屾 博主等级

行动起来,活在当下

  • 累计撰写 8 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker与Docker Compose核心命令速查手册:从入门到精通

Administrator
2025-07-29 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

一、 Docker:单个容器的魔术师

Docker是容器化技术的核心,它能将应用及其依赖打包到一个轻量、可移植的容器中,然后在任何安装了Docker的机器上运行。 [1] 以下是管理Docker镜像和容器生命周期的必备命令。

1. 镜像管理 (Image Management)

镜像是创建容器的模板。你可以把它理解为一个包含了应用代码、运行时、库、环境变量和配置文件的只读文件。

  • 搜索镜像: 从Docker Hub官方仓库搜索你需要的镜像。

    docker search ubuntu
  • 拉取镜像: 从仓库下载一个镜像到本地。

    # 拉取最新版的Nginx镜像
    docker pull nginx:latest
  • 查看本地镜像: 列出你已经下载到本地的所有镜像。 [1]

    docker images
  • 删除镜像: 当镜像不再需要时,可以将其删除以释放空间。

    # 删除指定的Nginx镜像
    docker rmi nginx:latest
  • 构建镜像: 从一个Dockerfile文件创建自定义镜像。 [9]

    # 在当前目录下的Dockerfile构建一个名为my-app版本为1.0的镜像
    docker build -t my-app:1.0 .

2. 容器生命周期管理 (Container Lifecycle)

容器是镜像的运行实例。你可以对它进行创建、启动、停止、删除等操作。

  • 运行容器: 这是最核心的命令,基于指定镜像创建一个新容器并启动它。 [6]

    # -d: 后台运行
    # -p 8080:80: 将主机的8080端口映射到容器的80端口
    # --name my-nginx: 给容器起个名字
    docker run -d -p 8080:80 --name my-nginx nginx:latest
  • 查看正在运行的容器: 列出当前正在运行的容器。 [1]

    docker ps
    • 要查看所有容器(包括已停止的),可以添加 -a 参数:docker ps -a

  • 停止容器: 停止一个正在运行的容器。 [1]

    docker stop my-nginx
  • 启动/重启容器: 启动一个已停止的容器或重启一个正在运行的容器。 [1, 6]

    docker start my-nginx
    docker restart my-nginx
  • 删除容器: 删除一个或多个已经停止的容器。 [6]

    docker rm my-nginx
    • 如果要删除一个正在运行的容器,需要添加 -f 参数强制删除:docker rm -f my-nginx

3. 容器交互与监控

  • 进入容器: 在一个正在运行的容器内部执行命令,通常用于调试。 [9]

    # -it: 以交互模式进入容器
    docker exec -it my-nginx /bin/bash
  • 查看容器日志: 获取容器的标准输出日志,是排查问题的首选方式。

    # -f: 实时跟踪日志
    docker logs -f my-nginx
  • 查看容器详细信息: 显示一个容器的底层详细配置和状态信息。 [1]

    docker inspect my-nginx

二、 Docker Compose:多容器应用的指挥家

当你的应用由多个服务(如Web服务器、数据库、缓存服务)组成时,Docker Compose可以让你通过一个简单的YAML文件来定义和管理整个应用。

[视频嵌入: 动画演示Docker Compose如何一键启动包含Web、API、DB的复杂应用]

1. 核心配置文件:docker-compose.yml

这是Docker Compose的灵魂,一个简单的示例如下:

version: '3.8'
​
services:
  web:
    image: nginx:latest
    ports:
      - "8081:80"
  
  redis:
    image: "redis:alpine"

2. 项目生命周期命令

这些命令通常需要在包含 docker-compose.yml 文件的目录下执行。

  • 构建、创建、启动并关联服务: 这是最常用的命令,它会一站式地完成所有服务的启动。 [8]

    # -d: 在后台运行
    docker-compose up -d
    • 如果需要重新构建镜像再启动,可以加上 --build 参数。 [8]

  • 停止并移除容器和网络: 清理up命令创建的所有资源。 [4]

    docker-compose down
    • 如果想同时删除数据卷,可以添加 -v 参数:docker-compose down -v。 [10]

  • 列出项目中的容器: 功能类似 docker ps,但仅显示当前Compose项目管理的容器。 [2, 4]

    docker-compose ps
  • 启动/停止/重启服务: 对Compose文件中定义的服务进行生命周期管理。 [4, 8]

    docker-compose start
    docker-compose stop
    docker-compose restart

3. 服务管理与监控

  • 查看服务日志: 汇总并显示所有服务的日志。

    # -f: 实时跟踪日志
    docker-compose logs -f
    • 也可以只看特定服务的日志:docker-compose logs -f web

  • 在服务中执行命令: 类似于 docker exec,但作用于Compose定义的服务。 [4]

    # 在名为'web'的服务容器中执行 ls -l 命令
    docker-compose exec web ls -l
  • 验证配置文件: 检查 docker-compose.yml 文件的语法和配置是否正确,非常有用。 [5]

    docker-compose config

结论

掌握了以上命令,你就拥有了驾驭Docker和Docker Compose的基本能力。Docker赋予了你封装和隔离应用的超能力,而Docker Compose则让你能轻松编排复杂的多服务应用。

这趟旅程才刚刚开始。建议你亲手实践这些命令,将它们应用到你的项目中。你会发现,容器化带来的不仅仅是技术上的便利,更是一种现代化、高效率的开发与部署哲学。

希望这篇速查手册能成为你工具箱中的常备利器!

0

评论区