1. 镜像管理命令
镜像是容器的基础,Docker 的镜像操作涉及拉取、创建、删除等。
| 命令 | 解释 |
|---|---|
docker images | 列出本地所有镜像 |
docker pull <镜像名> | 从 Docker Hub 拉取镜像 |
docker rmi <镜像名> | 删除本地镜像 |
docker tag <镜像ID> <新的名字> | 重命名镜像 |
docker build -t <镜像名> . | 从 Dockerfile 创建镜像 |
docker save -o <文件名> <镜像名> | 保存镜像为 tar 文件 |
docker load -i <文件名> | 从 tar 文件加载镜像 |
docker history <镜像ID> | 查看镜像的历史层 |
docker inspect <镜像ID> | 查看镜像的详细信息 |
docker search <关键字> | 搜索镜像 |
2. 容器管理命令
容器管理是 Docker 的核心部分,包括创建、启动、停止和调试容器等操作。
2.1 基础容器管理命令
| 命令 | 解释 |
|---|---|
docker ps | 查看正在运行的容器 |
docker ps -a | 查看所有容器,包括已停止的 |
docker run <镜像名> | 从镜像创建并运行容器 |
docker run -d <镜像名> | 后台运行容器(守护模式) |
docker run --name <名字> <镜像> | 运行容器并指定容器名称 |
docker run -it <镜像名> /bin/bash | 以交互模式运行容器 |
docker stop <容器名或ID> | 停止容器 |
docker start <容器名或ID> | 启动已停止的容器 |
docker restart <容器名或ID> | 重启容器 |
docker rm <容器名或ID> | 删除容器 |
docker logs <容器名或ID> | 查看容器日志 |
docker exec -it <容器名> /bin/bash | 进入正在运行的容器交互终端 |
docker attach <容器名或ID> | 附加到容器的终端(与 exec 类似,但不能新建进程) |
docker inspect <容器名或ID> | 查看容器详细信息 |
2.2 进阶容器管理命令
| 命令 | 解释 |
|---|---|
docker stats <容器名或ID> | 实时查看容器资源使用情况(CPU、内存等) |
docker top <容器名或ID> | 查看容器中的进程 |
docker update --memory <大小> <容器名或ID> | 更新容器的资源限制(如内存) |
docker commit <容器名或ID> <新镜像名> | 将容器的当前状态保存为新的镜像 |
docker export <容器名> > <文件名>.tar | 导出容器文件系统为 tar 文件 |
docker import <文件名>.tar <镜像名> | 从 tar 文件导入为镜像 |
docker pause <容器名或ID> | 暂停容器中的所有进程 |
docker unpause <容器名或ID> | 恢复被暂停的容器 |
docker kill <容器名或ID> | 强制终止容器中的进程 |
3. 文件复制和共享命令
Docker 提供了文件复制和共享的功能,可以实现容器与宿主服务器之间的文件交互,或者容器之间的文件共享。
| 命令 | 解释 |
|---|---|
docker cp <容器ID>:<路径> <宿主机路径> | 从容器中复制文件到宿主机 |
docker cp <宿主机路径> <容器ID>:<路径> | 从宿主机复制文件到容器中 |
docker volume create <卷名> | 创建卷用于数据持久化 |
docker run -v <卷名>:/容器路径 <镜像名> | 挂载卷到容器中,持久化数据 |
docker run --mount source=<卷名>,target=/容器路径 <镜像名> | 使用 --mount 挂载卷 |
docker network connect <网络名> <容器名> | 将容器连接到网络,以实现容器间通信 |
4. 网络管理命令
Docker 网络用于连接容器与外界或不同容器之间的通信。
| 命令 | 解释 |
|---|---|
docker network ls | 列出所有 Docker 网络 |
docker network create <网络名> | 创建新的网络 |
docker network rm <网络名> | 删除指定的网络 |
docker network connect <网络名> <容器名> | 将容器连接到网络 |
docker network disconnect <网络名> <容器名> | 将容器从网络中断开 |
docker network inspect <网络名> | 查看网络的详细信息 |
5. 卷管理命令
卷用于持久化容器中的数据,使其在容器销毁后依然可用。
| 命令 | 解释 |
|---|---|
docker volume ls | 列出所有卷 |
docker volume create <卷名> | 创建卷 |
docker volume rm <卷名> | 删除卷 |
docker volume inspect <卷名> | 查看卷的详细信息 |
docker run -v <卷名>:/路径 <镜像名> | 挂载卷到容器中 |
6. Docker Compose 命令
Docker Compose 是管理多容器应用的工具,可以通过 YAML 文件定义和启动多个服务。
| 命令 | 解释 |
|---|---|
docker-compose up | 启动所有服务 |
docker-compose down | 停止并删除容器、网络和卷 |
docker-compose build | 构建或重新构建服务的镜像 |
docker-compose start | 启动服务 |
docker-compose stop | 停止服务 |
docker-compose restart | 重启服务 |
docker-compose logs | 查看服务的日志 |
7. 系统管理命令
用于管理和查看 Docker 系统的整体状态和资源使用情况。
| 命令 | 解释 |
|---|---|
docker info | 查看 Docker 系统的总体信息 |
docker version | 查看 Docker 版本信息 |
docker system df | 查看 Docker 占用的磁盘空间 |
docker system prune | 清理未使用的容器、镜像、网络和卷 |
8. 安全相关命令
Docker 提供了一些命令用于检查镜像的安全性以及对镜像进行签名等操作。
| 命令 | 解释 |
|---|---|
docker scan <镜像名> | 对镜像进行漏洞扫描 |
docker trust sign <镜像名> | 对镜像进行签名 |
docker trust inspect <镜像名> | 查看镜像的签名信息 |
9. Docker 仓库管理命令
Docker 提供了公有和私有仓库来存储镜像,以下命令用于仓库操作。
| 命令 | 解释 |
|---|---|
docker login | 登录 Docker 镜像仓库 |
docker logout | 登出 Docker 镜像仓库 |
docker push <镜像名> | 推送镜像到仓库 |
docker pull <镜像名> | 从仓库拉取镜像 |
docker tag <镜像名> <仓库名/镜像名> | 标记镜像用于推送 |
10. Swarm 和 Kubernetes 命令
Docker 支持容器编排工具,如 Swarm 和 Kubernetes,以下命令用于集群管理。
| 命令 | 解释 |
|---|---|
docker swarm init | 初始化 Docker Swarm 集群 |
docker node ls | 列出 Swarm 集群中的节点 |
docker service create | 在 Swarm 中创建服务 |
docker stack deploy | 部署应用程序到 Swarm 集群 |
这份命令大全涵盖了 Docker 平台的文件交互、数据持久化、网络连接、容器管理等各个方面,可以满足日常和进阶的 Docker 操作需求。