🚀 I. Docker 基础命令 (镜像与容器)
| 场景 | 命令 | 描述 | 示例 |
|---|---|---|---|
| 下载镜像 | docker pull <image>:<tag> |
从 Docker Hub 或其他仓库下载镜像。 | docker pull nginx:latest |
| 列出镜像 | docker images |
列出本地所有镜像。 | docker images |
| 构建镜像 | docker build -t <name>:<tag> . |
使用当前目录下的 Dockerfile 构建新镜像。 |
docker build -t myapp:1.0 . |
| 删除镜像 | docker rmi <image_id/name> |
删除本地镜像。 | docker rmi myapp:1.0 |
| 运行容器 | docker run [options] <image> [cmd] |
创建并启动容器。 | docker run -d -p 8080:80 --name web nginx |
| 列出容器 | docker ps |
列出正在运行的容器。 | docker ps |
| 列出所有容器 | docker ps -a |
列出所有容器(包括已停止的)。 | docker ps -a |
| 停止容器 | docker stop <container_id/name> |
正常停止一个正在运行的容器。 | docker stop web |
| 删除容器 | docker rm <container_id/name> |
删除一个已停止的容器。 | docker rm web |
| 查看日志 | docker logs -f <container_id/name> |
实时查看容器的日志输出。 | docker logs -f web |
| 进入容器 | docker exec -it <container_id/name> /bin/bash |
在运行中的容器内部执行命令,常用于进入 Bash 终端。 | docker exec -it web /bin/bash |
| 挂载目录 | docker run -v <host_path>:<container_path> ... |
将主机目录挂载到容器中,实现数据持久化或共享。 | docker run -v /data/app:/app/data ... |
| 清理资源 | docker system prune |
清理停止的容器、未使用的网络和悬空镜像。 | docker system prune -a (清理更多未使用的资源) |
🔨 II. Docker Compose 命令
| 场景 | 命令 | 描述 | 示例 |
|---|---|---|---|
| 启动应用 | docker-compose up -d |
根据 docker-compose.yml 文件构建(如果需要)、创建、启动并关联所有服务,-d 表示后台运行。 |
docker-compose up -d |
| 停止和移除 | docker-compose down |
停止并删除由 up 创建的容器、网络和默认卷。 |
docker-compose down |
| 列出服务 | docker-compose ps |
列出 Compose 项目中所有服务的状态。 | docker-compose ps |
| 查看日志 | docker-compose logs -f |
实时查看所有服务的日志输出。 | docker-compose logs -f |
| 进入服务 | docker-compose exec <service_name> <command> |
在运行中的服务容器内执行命令。 | docker-compose exec web bash |
| 仅构建镜像 | docker-compose build <service_name> |
仅构建或重新构建指定服务的镜像。 | docker-compose build backend |
| 停止服务 | docker-compose stop <service_name> |
停止指定服务的容器,但不删除它们。 | docker-compose stop web |
| 重启服务 | docker-compose restart <service_name> |
重启指定服务的容器。 | docker-compose restart db |