一、 镜像管理

管理 Docker 镜像,镜像是创建容器的模板。

命令 描述 示例
docker pull 从 Docker Hub 或其他镜像仓库拉取镜像 docker pull ubuntu:22.04
docker imagesdocker image ls 列出本地已有的所有镜像 docker images
docker build 从 Dockerfile 构建一个新镜像 docker build -t my-app:1.0 .
docker rmidocker image rm 删除一个或多个本地镜像 docker rmi my-app:1.0
docker tag 为本地镜像添加一个新的标签(别名) docker tag my-app:1.0 my-username/my-app:latest
docker push 将本地镜像推送到镜像仓库 docker push my-username/my-app:latest
docker search 从 Docker Hub 搜索镜像 docker search nginx
docker save 将一个或多个镜像保存为 tar 归档文件 docker save -o ubuntu.tar ubuntu:22.04
docker load 从 tar 归档文件加载镜像 docker load -i ubuntu.tar

二、 容器生命周期管理

创建、启动、停止和删除容器。

命令 描述 示例
docker run 基于镜像创建一个新容器并运行 docker run -d -p 8080:80 --name my-nginx nginx
docker ps 列出正在运行的容器 docker ps
docker ps -a 列出所有容器(包括已停止的) docker ps -a
docker start 启动一个或多个已停止的容器 docker start my-nginx
docker stop 优雅地停止一个或多个正在运行的容器 docker stop my-nginx
docker kill 强制停止一个或多个正在运行的容器 docker kill my-nginx
docker restart 重启一个或多个容器 docker restart my-nginx
docker rm 删除一个或多个已停止的容器 docker rm my-nginx
docker rm -f 强制删除一个正在运行的容器 docker rm -f my-nginx
docker pause 暂停容器中的所有进程 docker pause my-nginx
docker unpause 恢复容器中被暂停的进程 docker unpause my-nginx
docker create 创建一个新容器但不启动它 docker create --name my-ubuntu ubuntu

docker run 常用参数说明:

  • -d: 后台运行容器 (detached mode)
  • -p 主机端口:容器端口: 端口映射
  • --name 容器名: 指定容器名称
  • -v 主机路径:容器路径: 挂载数据卷
  • -it: 以交互模式运行容器,通常用于进入容器终端 (-i: interactive, -t: tty)
  • --rm: 容器停止后自动删除
  • -e KEY=VALUE: 设置环境变量

三、 容器操作

查看日志、进入容器、复制文件等。

命令 描述 示例
docker exec 在正在运行的容器中执行命令 docker exec -it my-nginx bash
docker logs 获取容器的日志 docker logs my-nginx
docker logs -f 实时跟踪容器的日志输出 docker logs -f my-nginx
docker inspect 查看容器/镜像的详细信息(JSON格式) docker inspect my-nginx
docker cp 在容器和主机之间复制文件/文件夹 docker cp ./index.html my-nginx:/usr/share/nginx/html/
docker top 查看容器内正在运行的进程 docker top my-nginx
docker stats 实时显示容器的资源使用情况(CPU, 内存等) docker stats

四、 数据卷和网络管理

用于数据持久化和容器间通信。

数据卷

命令 描述 示例
docker volume create 创建一个数据卷 docker volume create my-data
docker volume ls 列出所有数据卷 docker volume ls
docker volume inspect 查看数据卷的详细信息 docker volume inspect my-data
docker volume rm 删除一个或多个数据卷 docker volume rm my-data
docker volume prune 删除所有未被任何容器使用的本地数据卷 docker volume prune

网络

命令 描述 示例
docker network create 创建一个网络 docker network create --driver bridge my-net
docker network ls 列出所有网络 docker network ls
docker network inspect 查看网络的详细信息 docker network inspect my-net
docker network rm 删除一个或多个网络 docker network rm my-net
docker network connect 将一个运行中的容器连接到一个网络 docker network connect my-net my-nginx
docker network disconnect 断开容器与一个网络的连接 docker network disconnect my-net my-nginx

五、 Docker Compose (多容器应用)

用于定义和运行多容器 Docker 应用的工具。通常通过 docker-compose.yml 文件来配置。

命令 描述 示例
docker-compose up 创建并启动所有服务 docker-compose up
docker-compose up -d 在后台创建并启动所有服务 docker-compose up -d
docker-compose down 停止并删除所有服务、网络、数据卷 docker-compose down
docker-compose ps 列出 Compose 应用中的所有容器 docker-compose ps
docker-compose logs 查看服务的日志输出 docker-compose logs web
docker-compose build 构建或重新构建服务 docker-compose build
docker-compose exec 在指定服务中执行命令 docker-compose exec web bash
docker-compose pull 拉取服务依赖的镜像 docker-compose pull
docker-compose push 推送服务的镜像 docker-compose push

注意:新版本的 Docker 可能已将 docker-compose 集成为 docker compose (无连字符)。


六、 系统与清理 (System & Cleanup)

查看 Docker 系统信息和清理无用资源。

命令 描述 示例
docker info 显示 Docker 系统级的详细信息 docker info
docker version 显示 Docker 的版本信息 docker version
docker system prune 一次性清理无用的资源(停止的容器、无用的网络、悬空镜像、构建缓存) docker system prune
docker system prune -a 清理得更彻底,包括没有被任何容器使用的镜像 docker system prune -a
docker system df 查看 Docker 磁盘使用情况 docker system df