Docker 命令指南

Docker容器技术以其轻量级和便携性,成为现代应用部署的首选方案。通过 Docker,可以将应用及其依赖打包成一个独立的单元,轻松迁移至不同平台并无缝运行。然而,要充分利用 Docker 的优势,需要熟练掌握其命令行接口(CLI)。本文将带了解每个开发者和系统管理员都应掌握的 Docker 核心命令。

为什么需要 Docker 命令?

Docker 命令对于管理和交互 Docker 容器和镜像至关重要。它包括创建、运行、停止、删除容器以及从 Dockerfile 创建镜像。此外,它还允许执行列出活动容器、检查容器状态、在宿主机和容器之间传输文件以及管理 Docker 网络和 Docker 卷等任务。在实际使用中,掌握 Docker 命令是实现容器化应用、提高应用可移植性并简化跨平台部署的关键。

如何使用 Docker 命令?

以下是一些常用的 Docker 命令使用方式:

// 运行容器 docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

此命令从指定的镜像创建并启动一个新容器。

// 列出运行中的容器 docker ps

列出当前所有运行中的容器。

// 停止容器 docker stop CONTAINER_ID

停止指定 ID 或名称的运行中容器。

// 删除容器 docker rm CONTAINER_ID

从系统中移除已停止的容器。

// 拉取镜像 docker pull IMAGE[:TAG|@DIGEST]

从注册表(例如 Docker Hub)下载指定的镜像。

// 构建镜像 docker build [OPTIONS] PATH | URL | -

根据Dockerfile 中的指令构建新镜像。

// 列出镜像 docker images

列出本地系统上所有可用的镜像。

// 删除镜像 docker rmi IMAGE[:TAG|@DIGEST]

从本地系统中移除指定的镜像。

// 在容器中运行命令 docker exec [OPTIONS] CONTAINER_ID COMMAND [ARG...]

在运行中的容器内执行指定的命令。

// 查看日志 docker logs CONTAINER_ID

获取指定容器的日志。

以上只是一些示例。可以通过运行 docker --help 或参考 来探索更多命令及其选项。

Docker 命令列表

以下是一些顶级 Docker 命令的介绍:

docker version 命令显示当前安装的 Docker 版本。它提供 Docker 客户端和服务器版本的信息,以及其他细节,如操作系统、架构和内核版本。

docker version

docker search 命令允许在 Docker Hub 上搜索 Docker 镜像。可以通过名称或使用关键词搜索相关镜像。

docker search <image_name>

docker pull 命令从注册表(如 Docker Hub)下载 Docker 镜像到本地机器。在创建容器之前,需要先拉取镜像。

docker pull <image_name>:<tag>

docker run 命令是使用频率最高的 Docker 命令之一。它从指定的镜像创建一个新容器并启动它。可以传递各种选项来自定义容器的行为,如暴露端口、挂载卷和设置环境变量。

docker run [OPTIONS] <image_name>:<tag> [COMMAND] [ARG...]

docker ps 命令列出系统上当前运行的所有容器。默认情况下,它只显示运行中的容器,但可以使用方法 -a 来列出所有容器(运行中和已停止)。

docker ps docker ps -a

docker stop 命令停止一个或多个运行中的容器。可以通过容器的名称或 ID 来指定容器。

docker stop <container_name_or_id>

docker restart 命令重启一个或多个运行中的容器。它首先停止容器,然后再次启动它们。

docker restart <container_name_or_id>

docker kill 命令通过发送 KILL 信号强制停止运行中的容器。当 docker stop 命令无法优雅地停止容器时,应使用此命令。

docker kill <container_name_or_id>

docker exec 命令在运行中的容器内运行新命令。这在不启动新 shell 的情况下检查或排查容器问题时非常有用。

docker exec [OPTIONS] <container_name_or_id> [COMMAND] [ARG...]

docker login 命令对 Docker 注册表(如 Docker Hub)进行身份验证。需要先进行身份验证,才能将镜像推送到注册表。

docker login [OPTIONS] [SERVER]

docker commit 命令从容器的更改中创建一个新的镜像。这在捕获运行中容器的状态并基于该状态创建新镜像时非常有用。

docker commit [OPTIONS] <container_name_or_id> [REPOSITORY[:TAG]]

docker push 命令将镜像上传到 Docker 注册表,如 Docker Hub。在推送镜像之前,需要先与注册表进行身份验证。

docker push <image_name>:<tag>

docker network 命令管理 Docker 网络。它允许创建、检查和管理容器间通信的网络。

docker network [COMMAND] [ARG...]

docker history 命令显示镜像的历史记录,包括构成镜像的层以及用于创建每层的命令。

docker history <image_name>:<tag>

docker rmi 命令从本地系统中删除一个或多个镜像。在删除镜像之前,需要先停止并删除所有基于该镜像的容器。

docker rmi <image_name>:<tag>

docker ps -a 命令列出系统上的所有容器(运行中和已停止)。这是一个有用的命令,用于获取机器上所有容器的概览。

docker ps -a

docker copy 命令在容器和本地文件系统之间复制文件或目录。

docker copy [OPTIONS] <container_name_or_id>:<src_path> <dest_path> docker copy [OPTIONS] <src_path> <container_name_or_id>:<dest_path>

docker logs 命令检索容器的日志输出。这是排查和调试容器时的一个重要命令。

docker logs [OPTIONS] <container_name_or_id>

docker volume 命令管理 Docker 卷。卷用于持久化 Docker 容器生成的数据。

docker volume [COMMAND] docker logout [SERVER]
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485