欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > Docker入门教程:常用命令与基础概念

Docker入门教程:常用命令与基础概念

2025/5/14 6:28:30 来源:https://blog.csdn.net/weixin_45927422/article/details/147934944  浏览:    关键词:Docker入门教程:常用命令与基础概念

目录

  • 简介
  • 常用命令
      • Docker 常用命令汇总
      • docker run 命令格式与参数解析

简介

Docker 是一个客户端-服务器(client-server)架构的应用程序,其中包含两个主要组件:Docker 客户端和 Docker 守护进程(也称为 Docker Daemon)。理解这两个组件的作用有助于理解为什么需要启动 Docker 客户端。

Docker 基础组件
Docker 客户端(Client): 用户通过命令行工具与 Docker 进行交互。
Docker 守护进程(Daemon): 管理 Docker 服务的后台进程,处理客户端请求。

  1. Docker 客户端:

    • Docker 客户端是用户与 Docker 系统交互的接口。用户通过 Docker 命令行工具(如 docker 命令)发送命令。
    • 这些命令可以是创建、运行、停止容器,拉取镜像,查看日志等。
    • 客户端本身并不执行这些操作,而是将命令发送给 Docker 守护进程。
  2. Docker 守护进程:

    • Docker 守护进程运行在主机上,并负责处理来自客户端的请求。
    • 它管理容器的生命周期、镜像的构建和存储、网络和数据卷的管理等。
    • 守护进程可以在本地或远程运行,客户端可以配置与远程 Docker 守护进程通信。

为什么需要启动 Docker 客户端:

  • 与守护进程通信: Docker 客户端是用户和 Docker 系统之间的桥梁。用户需要通过客户端发送命令来管理 Docker 守护进程和容器。
  • 用户交互: 客户端提供了一个用户友好的接口,使得用户可以方便地与 Docker 系统互动,而不需要直接操作守护进程。
  • 任务自动化: 通过 Docker 客户端,用户可以编写脚本来自动化容器管理任务,这对于 DevOps 和持续集成/持续部署(CI/CD)流程非常重要。

因此,启动 Docker 客户端是为了提供一个接口,使用户能够与 Docker 守护进程通信并管理容器化应用程序。Docker Desktop 应用程序通常会同时启动客户端和守护进程,以确保系统能够正常工作。

常用命令

在本部分中,我将为您提供一个完整的Docker命令列表,包含命令的注释说明和具体的使用示例,帮助您更全面地理解每个命令的功能和应用场景:

Docker 常用命令汇总

  1. 查看 Docker 版本信息

    docker version  # 显示 Docker 的版本信息
    

    示例输出:

    Client: Docker Engine - CommunityVersion:           19.03.12
    Server: Docker Engine - CommunityEngine:Version:          19.03.12
    
  2. 获取 Docker 系统的信息

    docker info  # 显示 Docker 的系统信息,包括容器和镜像数量
    

    示例部分输出:

    Containers: 10Running: 3Paused: 0Stopped: 7
    Images: 50
    Server Version: 19.03.12
    
  3. 列出本地镜像

    docker images  # 列出本地存储的所有镜像
    

    示例输出:

    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu              latest              4e5021d210f6        2 weeks ago         64.2MB
    nginx               stable              56bc4e1fdd8d        3 weeks ago         126MB
    
  4. 查看正在运行的容器

    docker ps  # 查看当前正在运行的容器
    

    示例输出:

    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    c3f279d17e0a        nginx               "/docker-entrypoint.…"   3 weeks ago         Up 3 days           80/tcp              webserver
    
  5. 查看容器日志

    docker logs <容器名称或ID>  # 显示指定容器的日志
    

    示例用法:

    docker logs webserver
    

    示例输出:

    127.0.0.1 - - [12/Oct/2023:14:55:29 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36"
    
  6. 进入容器

    docker exec -it <容器名称或ID> /bin/bash  # 进入容器并启动 Bash Shell
    

    示例用法:

    docker exec -it webserver /bin/bash
    
  7. 退出容器

    exit  # 退出当前容器的 Shell
    
  8. 列出所有容器

    docker ps -a  # 列出所有容器,包括未运行的
    
  9. 运行容器

    docker run -itd --privileged --name <容器名称> -v <本地路径>:<容器内路径> <镜像ID>
    

    示例用法:

    docker run -itd --privileged --name mycontainer -v /Users/example:/home/docker/data ad2419b0e531
    
  10. 停止容器

    docker stop <容器名称或ID>  # 停止一个运行中的容器
    

    示例用法:

    docker stop webserver
    
  11. 重启容器

    docker restart <容器名称或ID>  # 重启容器
    
  12. 删除容器

    docker rm <容器名称或ID>  # 删除一个容器
    
  13. 查看容器详细信息

    docker inspect <容器ID或名称>  # 查看容器详细信息,包括挂载目录
    

docker run 命令格式与参数解析

命令 docker run 是 Docker 中最常用的命令之一,它用于创建一个新的容器并运行一个命令。该命令具有多个参数,可以根据需要进行详细配置。

docker run -itd --privileged --name <容器名称> -v <本地路径>:<容器内路径> <镜像ID>
  1. -itd: 这是三个参数的组合,常用于控制容器的交互模式和后台运行状态:

    • -i (--interactive): 保持标准输入(STDIN)开启,即使不附加到容器。
    • -t (--tty): 分配一个伪终端,这通常用于使容器在运行时更像一个交互式会话。
    • -d (--detach): 在后台运行容器,并打印容器 ID。这允许容器在后台执行,命令行可以立即返回。
  2. --privileged: 给予容器额外的权限。当你的容器需要执行一些需要更高权限的操作时(如直接访问硬件设备),你可以使用这个选项。这会给予容器几乎同宿主机相同的权限。

  3. --name <容器名称>: 指定容器的名称。这允许您为容器指定一个易于记忆的名字,而不是使用 Docker 自动生成的随机名称。

  4. -v <本地路径>:<容器内路径>: 挂载一个卷(Volume)或绑定宿主机的目录到容器内部的指定路径。这使得容器能够共享和访问宿主机上的数据。

    • <本地路径>: 宿主机上的文件路径,这个路径的数据将被挂载到容器中。
    • <容器内路径>: 容器内的目标路径,宿主机上的 <本地路径> 将映射到这里。
  5. <镜像ID>: 这是用于创建容器的基础镜像。这可以是任何有效的镜像 ID,或者从 Docker Hub 上拉取的镜像名称和标签。

示例解析:
假设您希望运行一个基于 Ubuntu 的容器,容器名为 myubuntu,并希望将宿主机的 /home/user/data 目录挂载到容器的 /data 目录,并在后台运行:

docker run -itd --privileged --name myubuntu -v /home/user/data:/data ubuntu:latest

在这个例子中:

  • 使用了最新版的 Ubuntu 镜像(ubuntu:latest)。
  • 容器被命名为 myubuntu
  • 宿主机的 /home/user/data 目录被挂载到容器内的 /data 目录。
  • 容器在后台运行,且配置为交互式,有一个分配的终端。

这个命令将允许你运行一个 Ubuntu 容器,同时能够在宿主机和容器之间共享 /home/user/data 目录中的文件,这对于数据持久化和数据交换非常有用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词