Docker 全部命令详解:从基础到高级

Docker 全部命令详解:从基础到高级

Docker 是现代软件开发和运维中不可或缺的工具,它通过容器化技术提供了轻量级的虚拟化解决方案。掌握 Docker 的所有命令是高效管理和运维容器的关键。本文将详细介绍 Docker 的所有命令,从基础的镜像和容器管理,到高级的网络和数据卷操作,帮助你全面掌握 Docker。


1. Docker 基础命令

1.1 全局命令
  • 帮助:显示 Docker 的帮助信息,列出所有可用命令和选项。

    bash 复制代码
    docker --help
  • 版本:查看 Docker 的版本信息。

    bash 复制代码
    docker --version
  • 信息:显示 Docker 的系统信息,包括版本、资源使用情况等。

    bash 复制代码
    docker info

2. 镜像管理命令

镜像是容器的基础,管理镜像的命令包括创建、查看和删除镜像。

  • 拉取镜像:从 Docker Hub 或其他注册表拉取镜像。

    bash 复制代码
    docker pull <镜像名称>:<标签>
  • 列出镜像:查看本地存储的镜像列表。

    bash 复制代码
    docker images
  • 查看镜像详细信息:查看镜像的详细信息,如配置、层次结构等。

    bash 复制代码
    docker inspect <镜像名称>:<标签>
  • 删除镜像:删除本地镜像。确保镜像未被任何容器使用。

    bash 复制代码
    docker rmi <镜像名称>:<标签>
  • 构建镜像:根据 Dockerfile 文件构建镜像。

    bash 复制代码
    docker build -t <镜像名称>:<标签> <路径>
  • 标记镜像:为镜像打标签,用于重命名或分发。

    bash 复制代码
    docker tag <源镜像>:<标签> <目标镜像>:<标签>
  • 保存镜像到文件:将镜像保存为 tar 文件。

    bash 复制代码
    docker save -o <文件名>.tar <镜像名称>:<标签>
  • 加载镜像从文件:从 tar 文件加载镜像。

    bash 复制代码
    docker load -i <文件名>.tar

3. 容器管理命令

容器是 Docker 中运行应用的基本单位。容器管理的命令包括创建、查看、启动和删除容器。

  • 运行容器:从镜像创建并启动容器。

    bash 复制代码
    docker run [OPTIONS] <镜像名称>:<标签>
  • 列出容器:

    • 仅运行中的容器 :

      bash 复制代码
      docker ps
    • 包括所有容器(包括已停止的) :

      bash 复制代码
      docker ps -a
  • 查看容器详细信息:查看容器的详细信息。

    bash 复制代码
    docker inspect <容器ID或名称>
  • 停止容器:停止一个正在运行的容器。

    bash 复制代码
    docker stop <容器ID或名称>
  • 启动容器:启动一个已停止的容器。

    bash 复制代码
    docker start <容器ID或名称>
  • 重启容器:重启一个容器。

    bash 复制代码
    docker restart <容器ID或名称>
  • 删除容器:删除一个或多个容器。

    bash 复制代码
    docker rm <容器ID或名称>
  • 查看容器日志:查看容器的日志输出。

    bash 复制代码
    docker logs <容器ID或名称>
  • 进入容器:以交互模式进入正在运行的容器。

    bash 复制代码
    docker exec -it <容器ID或名称> /bin/bash
  • 导出容器文件系统:将容器的文件系统导出到 tar 文件中。

    bash 复制代码
    docker export -o <文件名>.tar <容器ID或名称>
  • 导入容器文件系统:从 tar 文件中导入容器的文件系统。

    bash 复制代码
    docker import <文件名>.tar
  • 生成 Dockerfile:记录当前容器的状态,生成 Dockerfile。

    bash 复制代码
    docker commit <容器ID或名称> <镜像名称>:<标签>

4. 数据卷管理命令

数据卷用于持久化和共享容器的数据。数据卷管理的命令包括创建、查看和删除数据卷。

  • 创建数据卷:创建一个新的数据卷。

    bash 复制代码
    docker volume create <卷名称>
  • 列出数据卷:查看所有 Docker 数据卷。

    bash 复制代码
    docker volume ls
  • 查看数据卷详细信息:查看数据卷的详细信息。

    bash 复制代码
    docker volume inspect <卷名称>
  • 删除数据卷:删除数据卷。确保数据卷未被任何容器使用。

    bash 复制代码
    docker volume rm <卷名称>

5. 网络管理命令

Docker 网络用于容器之间的通信。网络管理的命令包括创建、查看和删除网络。

  • 列出网络:查看所有 Docker 网络。

    bash 复制代码
    docker network ls
  • 查看网络详细信息:查看网络的详细信息。

    bash 复制代码
    docker network inspect <网络名称>
  • 创建网络:创建一个新的 Docker 网络。

    bash 复制代码
    docker network create <网络名称>
  • 删除网络:删除 Docker 网络。确保网络未被任何容器使用。

    bash 复制代码
    docker network rm <网络名称>

6. Docker Compose 命令

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过 docker-compose.yml 文件配置服务,可以轻松管理复杂的应用。

  • 启动服务 :根据 docker-compose.yml 文件启动服务。

    bash 复制代码
    docker-compose up
  • 后台启动服务:在后台模式下启动服务。

    bash 复制代码
    docker-compose up -d
  • 停止服务:停止并删除服务容器。

    bash 复制代码
    docker-compose down
  • 查看服务日志:查看服务的日志输出。

    bash 复制代码
    docker-compose logs
  • 构建服务 :根据 docker-compose.yml 文件构建服务。

    bash 复制代码
    docker-compose build
  • 查看服务状态:查看服务的状态。

    bash 复制代码
    docker-compose ps

7. 高级命令

  • 提交容器更改:将容器的当前状态提交为新镜像。

    bash 复制代码
    docker commit <容器ID或名称> <镜像名称>:<标签>
  • 推送镜像到注册表:将镜像推送到 Docker Hub 或其他镜像注册表。

    bash 复制代码
    docker push <镜像名称>:<标签>
  • 获取镜像历史:查看镜像的历史记录。

    bash 复制代码
    docker history <镜像名称>:<标签>
  • 查找镜像:从 Docker Hub 查找镜像。

    bash 复制代码
    docker search <镜像名称>

结论

掌握 Docker 的所有命令是高效管理和运维容器的基础。通过熟练使用这些命令,你可以更好地创建、管理和调试 Docker 环境中的应用程序。希望本文的命令汇总能帮助你更深入地了解和运用 Docker。如果你有任何疑问或需要进一步的帮助,请随时提问!


这篇博客旨在帮助你全面了解 Docker 命令的使用。如果有特定的使用场景或命令需要进一步讲解,请随时与我联系!

相关推荐
知已难寻7 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
xbzb12 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
Alluxio14 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai18 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客19 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜19 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨19 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven20 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘20 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚20 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器