Docker 命令详解
本章详细介绍 Docker 的常用命令,帮助你熟练掌握 Docker 的日常操作。
命令分类
Docker 命令可以分为以下几类:
- 🖼️ 镜像管理: pull, push, build, images, rmi
- 📦 容器管理: run, start, stop, rm, ps, exec
- 🌐 网络管理: network create, connect, disconnect
- 💾 数据卷管理: volume create, rm, ls
- 🔧 系统管理: info, version, system prune
容器生命周期命令
docker run - 运行容器
这是最常用的命令,从镜像创建并启动容器。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]常用选项
# 后台运行docker run -d nginx
# 指定容器名称docker run --name my-nginx nginx
# 端口映射docker run -p 8080:80 nginx
# 环境变量docker run -e MYSQL_ROOT_PASSWORD=secret mysql
# 挂载卷docker run -v /host/path:/container/path nginx
# 自动删除docker run --rm nginx
# 交互式终端docker run -it ubuntu bash完整示例
docker run -d \ --name my-web-app \ -p 8080:80 \ -e NODE_ENV=production \ -v /data:/app/data \ --restart unless-stopped \ myapp:latestdocker ps - 查看容器
# 查看运行中的容器docker ps
# 查看所有容器(包括停止的)docker ps -a
# 只显示容器 IDdocker ps -q
# 显示最近创建的 N 个容器docker ps -n 5docker start/stop/restart
# 启动已停止的容器docker start container_name
# 停止运行中的容器docker stop container_name
# 强制停止容器docker stop -t 0 container_name
# 重启容器docker restart container_namedocker exec - 在容器中执行命令
# 进入容器docker exec -it container_name bash
# 执行单个命令docker exec container_name ls /app
# 以特定用户执行docker exec -u root container_name whoamidocker logs - 查看日志
# 查看日志docker logs container_name
# 实时查看日志docker logs -f container_name
# 查看最后 100 行docker logs --tail 100 container_name
# 查看带时间戳的日志docker logs -t container_name
# 查看某时间段的日志docker logs --since 2024-01-01 container_name镜像管理命令
docker images - 列出镜像
# 列出所有镜像docker images
# 只显示镜像 IDdocker images -q
# 显示悬空镜像docker images -f "dangling=true"docker pull - 拉取镜像
# 拉取最新版本docker pull nginx
# 拉取指定版本docker pull nginx:1.25-alpine
# 拉取特定平台docker pull --platform linux/amd64 nginxdocker build - 构建镜像
# 基本构建docker build -t myapp .
# 指定 Dockerfiledocker build -t myapp -f Dockerfile.prod .
# 不使用缓存docker build --no-cache -t myapp .
# 传递构建参数docker build --build-arg VERSION=1.0 -t myapp .docker push - 推送镜像
# 推送到 Docker Hubdocker push username/myapp:latest
# 推送到私有仓库docker push registry.example.com/myapp:latestdocker rmi - 删除镜像
# 删除单个镜像docker rmi nginx
# 删除多个镜像docker rmi nginx redis mysql
# 强制删除docker rmi -f nginx网络命令
# 列出网络docker network ls
# 创建网络docker network create my-network
# 查看网络详情docker network inspect my-network
# 连接容器到网络docker network connect my-network container_name
# 断开连接docker network disconnect my-network container_name
# 删除网络docker network rm my-network数据卷命令
# 创建卷docker volume create my-volume
# 列出卷docker volume ls
# 查看卷详情docker volume inspect my-volume
# 删除卷docker volume rm my-volume
# 清理未使用的卷docker volume prune系统命令
# 查看系统信息docker info
# 查看版本docker version
# 查看磁盘使用docker system df
# 清理系统docker system prunedocker system prune -a --volumes更多内容
完整的命令列表和详细用法,请查看 命令速查表。
下一步
- Dockerfile 基础 - 学习如何构建镜像
- 容器生命周期 - 深入理解容器状态
- 命令速查表 - 快速查找命令