介绍
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 命令列表。您还可以通过运行来探索更多命令及其选项 docker --help
或参考 官方Docker文档.
以下是顶级 Docker 命令的列表
Docker版本
docker version
命令显示系统上安装的当前 Docker 版本。它提供有关 Docker 客户端和服务器版本的信息以及各种其他详细信息,例如操作系统、体系结构和内核版本。
用法
docker version
码头搜索
docker search
命令允许您在 Docker Hub(Docker 镜像的官方注册表)上搜索 Docker 镜像。您可以按名称搜索图像或使用关键字查找相关图像。
用法
docker search <image_name>
码头工人拉
docker pull
命令将 Docker 映像从注册表(例如 Docker Hub)下载到本地计算机。在创建容器之前,您需要从中提取图像。
用法
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重启
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
命令根据容器的更改创建新映像。这对于捕获正在运行的容器的状态并基于该状态创建新映像非常有用。
用法
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>
码头工人ps -a
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
命令从 Docker 注册表中注销。
用法
docker logout [SERVER]
现在,您只知道一些基本的 Docker 命令,但 Docker 附带了更多命令和选项,可帮助您管理和使用容器。在上面的较长示例中,Docker 命令行界面提供了一种强大且灵活的方法来与 Docker 容器和映像进行交互。当从注册表中提取映像、运行容器或管理网络和卷时,这些 Docker 命令可以优化您的工作流程并最大限度地发挥容器技术的潜力。
也可以参考: 为有抱负的数据工程师提供的 Docker 端到端指南
奖励:附加命令
码头图片
列出本地存储库中的所有 Docker 映像。
- 用法:
docker images
- 输出:显示每个镜像的镜像 ID、存储库名称、标签和大小。
码头工人
删除一个或多个 Docker 容器。
- 用法:
docker rm [container_id or container_name]
- 输出:删除指定的容器。
码头工人建造
从 Dockerfile 构建 Docker 映像。
- 用法:
docker build [options] [path]
- 附加选项:
-t repository:tag
指定构建镜像的存储库和标签。-f Dockerfile
在构建上下文中指定除默认 Dockerfile 之外的 Dockerfile。
也可以参考: Docker 教程:初学者分步教程
结论
总之,这些顶级 Docker 命令旨在帮助管理容器、映像、网络、日志和其他资源(例如卷)。一旦学习了如何使用这些命令,您就可以完成多项任务,包括运行容器、查看日志、管理图像和使用卷。尝试在 Docker 项目中使用这些命令来改进您的工作并充分利用 Docker 平台。
在评论部分,请让我们知道这些 Docker 命令对您有多有用。我们很想听到您的声音。