一些docker命令
一、基础命令
- 查看 Docker 版本
-
docker --version
或docker version
:显示 Docker 客户端和服务器的版本信息。
- 查看 Docker 系统信息
-
docker info
:显示 Docker 系统的详细信息,包括镜像、容器数量、存储驱动类型等。
- Docker 服务管理
-
sudo systemctl start docker
:启动 Docker 服务。sudo systemctl stop docker
:停止 Docker 服务。sudo systemctl restart docker
:重启 Docker 服务。sudo systemctl status docker
:查看 Docker 服务状态。sudo systemctl enable docker
:设置 Docker 开机自启。sudo systemctl disable docker
:取消 Docker 开机自启。
- 查看 Docker 帮助文档
-
docker --help
:查看 Docker 命令的总体帮助。docker [command] --help
:查看特定 Docker 命令的帮助,例如docker run --help
。
二、镜像管理命令
- 列出本地镜像
-
docker images
:列出本地存储的所有 Docker 镜像。
- 搜索镜像
-
docker search [镜像名]
:在 Docker Hub 上搜索指定的镜像。
- 拉取镜像
-
docker pull [镜像名]:[标签]
:从 Docker 仓库中拉取指定镜像到本地。如果不指定标签,则默认拉取latest
版本。
- 删除镜像
-
docker rmi [镜像ID或镜像名]
:删除本地的某个镜像。使用-f
参数可以强制删除镜像。docker image prune
:删除没有被容器引用的镜像docker image prune -a --filter "until=168h"
:删除所有创建超过7天的镜像
- 构建镜像
-
docker build -t [镜像名]:[标签] [Dockerfile所在路径]
:从指定路径的 Dockerfile 构建一个新的镜像。
- 保存镜像
-
docker save -o [保存的文件名] [镜像名]
:将镜像保存为一个 tar 压缩包,方便传输或备份。
- 加载镜像
-
docker load -i [镜像保存文件]
:从一个 tar 包中加载镜像到本地 Docker 库。
- 给镜像打标签
-
docker tag [源镜像名]:[标签] [目标镜像名]:[标签]
:为本地镜像打上一个新的标签。
三、容器管理命令
- 创建并运行容器
-
docker run [选项] [镜像名] [命令] [参数]
:常用选项包括-d
(后台运行)、-i
(交互模式)、-t
(分配伪终端)、-p
(端口映射)、--name
(指定名称)、-v
(挂载卷)。
- 列出容器
-
docker ps
:列出当前正在运行的容器。docker ps -a
:列出所有容器(包括已停止的)。
- 启动、停止、重启容器
-
docker start [容器ID或容器名]
:启动容器。docker stop [容器ID或容器名]
:停止容器。docker restart [容器ID或容器名]
:重启容器。
- 删除容器
-
docker rm [容器ID或容器名]
:删除已停止的容器。使用-f
参数可以强制删除正在运行的容器。
- 进入容器
-
docker exec -it [容器ID或容器名] /bin/bash
:在容器内启动一个交互式的 Shell。
- 退出容器
-
exit
:退出容器并停止容器运行。Ctrl + P + Q
:退出容器但不停止容器运行。
- 查看容器日志
-
docker logs [容器ID或容器名]
:查看容器的输出日志。常用选项包括-f
(实时输出)、--tail n
(显示最后 n 行日志)。
- 查看容器内部细节
-
docker inspect [容器ID或容器名]
:以 JSON 格式输出容器的详细信息。
四、数据卷管理命令
- 创建数据卷
-
docker volume create [卷名]
:创建一个新的数据卷。
- 列出所有数据卷
-
docker volume ls
:列出所有数据卷。
- 删除数据卷
-
docker volume rm [卷名]
:删除指定的数据卷。
- 查看数据卷详情
-
docker volume inspect [卷名]
:显示数据卷的详细信息,包括挂载路径。
五、网络管理命令
- 创建网络
-
docker network create [网络名]
:创建一个自定义网络。
- 列出所有网络
-
docker network ls
:列出所有网络。
- 查看网络详情
-
docker network inspect [网络名]
:显示指定网络的详细信息。
- 删除网络
-
docker network rm [网络名]
:删除指定的自定义网络。
- 将容器连接到网络
-
docker network connect [网络名] [容器名或容器ID]
:将容器连接到指定网络。
- 将容器从网络断开
-
docker network disconnect [网络名] [容器名或容器ID]
:将容器从指定网络断开。
六、Docker-Compose命令
- 启动服务
-
- 命令:
docker-compose up
- 功能:根据
docker-compose.yml
文件中的配置启动所有服务。默认情况下,容器会在前台运行,并显示日志输出。 - 选项:
- 命令:
-
-
-d
:在后台运行服务。--build
:在启动服务之前构建镜像。--force-recreate
:强制重新创建容器,即使它们没有变化。--no-deps
:不启动服务所依赖的其他服务。--scale SERVICE=NUM
:指定服务的副本数量。
-
- 停止服务
-
- 命令:
docker-compose stop
- 功能:停止所有正在运行的容器,但不会删除它们。
- 命令:
- 重启服务
-
- 命令:
docker-compose restart
- 功能:重启所有服务。
- 命令:
- 删除服务
-
- 命令:
docker-compose down
- 功能:停止并删除所有容器、网络、卷和镜像(可选)。
- 选项:
- 命令:
-
-
-v
或--volumes
:删除挂载的数据卷。--rmi
:删除镜像,可选值为all
或local
。
-
- 查看服务状态
-
- 命令:
docker-compose ps
- 功能:列出所有容器及其状态。
- 命令:
- 查看日志
-
- 命令:
docker-compose logs
- 功能:显示服务的日志输出。
- 选项:
- 命令:
-
-
-f
或--follow
:实时跟踪日志输出。--tail N
:显示最后 N 行日志。--no-color
:不使用颜色来区分不同的服务。
-
- 构建镜像
-
- 命令:
docker-compose build
- 功能:根据
docker-compose.yml
文件中的配置构建镜像。 - 选项:
- 命令:
-
-
--no-cache
:构建时不使用缓存。--pull
:在构建之前拉取最新的基础镜像。
-
- 拉取镜像
-
- 命令:
docker-compose pull
- 功能:从镜像仓库拉取服务所需的镜像。
- 命令:
- 推送镜像
-
- 命令:
docker-compose push
- 功能:将镜像推送到镜像仓库。
- 命令:
- 执行命令
-
- 命令:
docker-compose exec
- 功能:在运行的容器中执行命令。
- 格式:
docker-compose exec [服务名] [命令]
- 命令:
- 运行一次性命令
-
- 命令:
docker-compose run
- 功能:在指定服务上运行一次性命令。运行完毕后,容器会自动删除(除非使用
--rm
选项)。 - 格式:
docker-compose run [服务名] [命令]
- 命令:
- 扩容/缩容
-
- 命令:
docker-compose scale
- 功能:设置指定服务的副本数量。
- 格式:
docker-compose scale [服务名]=[数量]
- 命令:
- 暂停/恢复服务
-
- 暂停服务:
docker-compose pause
- 恢复服务:
docker-compose unpause
- 暂停服务:
- 查看网络
-
- 列出网络:
docker-compose network ls
- 创建网络:
docker-compose network create [网络名]
- 删除网络:
docker-compose network rm [网络名]
- 列出网络:
- 管理容器
-
- 删除容器:
docker-compose rm
- 强制停止容器:
docker-compose kill
- 删除容器:
- 查看配置
-
- 命令:
docker-compose config
- 功能:验证
docker-compose.yml
文件的配置,并显示解析后的配置。
- 命令:
- 显示版本信息
-
- 命令:
docker-compose version
- 功能:显示 Docker Compose 的版本信息。
- 命令:
- 获取帮助信息
-
- 命令:
docker-compose help
- 功能:显示 Docker Compose 的帮助信息。
- 命令:
使用说明:
- 所有 Docker Compose 命令都必须在
docker-compose.yml
文件所在的目录下执行。 - 可以通过
-f
选项指定其他路径下的docker-compose.yml
文件。 - 可以通过
-p
选项指定项目的名称,以便在多个项目之间切换。
这些命令覆盖了 Docker Compose 的大部分功能,能够帮助用户轻松管理和编排多容器 Docker 应用。