Docker作为一种强大的容器化技术,为开发者提供了便捷的应用部署和管理方式。本文将介绍Docker常用命令,按照不同的操作分类,旨在帮助初学者更好地理解和使用Docker。Docker 常用命令可以分为以下几类:
- 容器命令:主要用于创建、启动、停止、删除和管理容器等操作,如 docker run、docker start、docker stop、docker rm 等命令。
- 镜像命令:主要用于管理 Docker 镜像,如 docker build、docker pull、docker push、docker tag 等命令。
- 网络命令:主要用于管理 Docker 网络,如 docker network create、docker network connect、docker network inspect 等命令。
- 数据卷命令:主要用于管理 Docker 数据卷,如 docker volume create、docker volume rm、docker volume inspect 等命令。
- 日志命令:主要用于查看和管理容器的日志信息,如 docker logs、docker stats、docker attach 等命令。
- 其他命令:包括 Docker 系统命令、Docker 容器执行命令、Docker 容器文件系统命令等等,如 docker info、docker exec、docker cp 等命令。
1.容器生命周期管理
- run - 创建并启动一个新的容器。
- start/stop/restart - 这些命令主要用于启动、停止和重启容器。
- kill- 立即终止一个或多个正在运行的容器
- rm - 于删除一个或多个已经停止的容器。
- pause/unpause- 暂停和恢复容器中的所有进程。
- create - 创建一个新的容器,但不会启动它。
- exec - 在运行中的容器内执行一个新的命令。
2.容器操作
- ps - 列出 Docker 容器
- inspect - 获取 Docker 对象(容器、镜像、卷、网络等)的详细信息。
- top - 显示指定容器中的正在运行的进程。
- attach - 允许用户附加到正在运行的容器并与其交互。
- events- 获取 Docker 守护进程生成的事件。
- logs - 获取和查看容器的日志输出。
- wait - 允许用户等待容器停止并获取其退出代码。
- export - 将容器的文件系统导出为 tar 归档文件。
- port - 显示容器的端口映射信息。
- stats - 实时显示 Docker 容器的资源使用情况。
3.容器的root文件系统(rootfs)命令
- commit- 允许用户将容器的当前状态保存为新的 Docker 镜像。
- cp- 用于在容器和宿主机之间复制文件或目录。
- diff - 显示 Docker 容器文件系统的变更。
4.镜像仓库
- login/logout - 管理 Docker 客户端与 Docker 注册表的身份验证。
- pull - 从 Docker 注册表(例如 Docker Hub)中拉取(下载)镜像到本地。
- push - 将本地构建的 Docker 镜像推送(上传)到 Docker 注册表(如 Docker Hub 或私有注册表)。
- search - 用于在 Docker Hub 或其他注册表中搜索镜像。
5.本地镜像管理
- images - 列出本地的 Docker 镜像。
- rmi- 删除不再需要的镜像。
- tag- 创建本地镜像的别名(tag)。
- build - 从 Dockerfile 构建 Docker 镜像。
- history - 查看指定镜像的历史层信息。
- save - 将一个或多个 Docker 镜像保存到一个 tar 归档文件中。
- load - 从由 docker save 命令生成的 tar 文件中加载 Docker 镜像。
- import - 从一个 tar 文件或 URL 导入容器快照,从而创建一个新的 Docker 镜像。
6.info|version
- info - 显示 Docker 的系统级信息,包括当前的镜像和容器数量。
- version - 显示 Docker 客户端和服务端的版本信息。
7.网络命令
- docker network ls: 列出所有网络。
- docker network create <network>: 创建一个新的网络。
- docker network rm <network>: 删除指定的网络。
- docker network connect <network> <container>: 连接容器到网络。
- docker network disconnect <network> <container>: 断开容器与网络的连接。
8.卷命令
- docker volume ls: 列出所有卷。
- docker volume create <volume>: 创建一个新的卷。
- docker volume rm <volume>: 删除指定的卷。
- docker volume inspect <volume>: 显示卷的详细信息。