Docker常用命令速查手册:从入门到实战

运维  ·  2026-06-26

Docker

Docker已经成为现代开发和运维的标配工具。本文整理了Docker最常用的命令,按照使用场景分类,方便快速查阅。

一、镜像管理

# 搜索镜像
docker search nginx

# 拉取镜像
docker pull nginx:latest

# 查看本地镜像
docker images

# 删除镜像
docker rmi nginx:latest

# 删除所有未使用的镜像
docker image prune -a

# 导出镜像为tar文件
docker save -o nginx.tar nginx:latest

# 从tar文件导入镜像
docker load -i nginx.tar

# 给镜像打标签
docker tag nginx:latest myregistry/nginx:v1

二、容器生命周期

# 创建并启动容器

docker run -d --name mynginx -p 80:80 nginx

 交互式运行(进入容器)

docker run -it ubuntu:22.04 /bin/bash

 启动/停止/重启容器

docker start mynginx
docker stop mynginx
docker restart mynginx

 删除容器

docker rm mynginx

 强制删除运行中的容器

docker rm -f mynginx

 删除所有已停止的容器

docker container prune

三、容器操作

# 查看运行中的容器
docker ps

 查看所有容器(包括已停止的)

docker ps -a

 进入运行中的容器

docker exec -it mynginx /bin/bash

 查看容器日志

docker logs mynginx

 实时跟踪日志

docker logs -f mynginx

 查看最近100行日志

docker logs --tail 100 mynginx

 查看容器资源使用

docker stats

 查看容器详细信息

docker inspect mynginx

 从容器复制文件到宿主机

docker cp mynginx:/etc/nginx/nginx.conf ./

 从宿主机复制文件到容器

docker cp ./index.html mynginx:/usr/share/nginx/html/

四、网络管理

# 查看所有网络
docker network ls

 创建自定义网络

docker network create mynet

 将容器连接到网络

docker network connect mynet mynginx

 断开网络

docker network disconnect mynet mynginx

 查看网络详情

docker network inspect mynet

 删除网络

docker network rm mynet

五、数据卷管理

# 创建数据卷
docker volume create mydata

 查看所有数据卷

docker volume ls

 查看数据卷详情

docker volume inspect mydata

 删除数据卷

docker volume rm mydata

 使用数据卷运行容器

docker run -d -v mydata:/data nginx

 绑定宿主机目录

docker run -d -v /host/path:/container/path nginx

六、Dockerfile构建

# 构建镜像
docker build -t myapp:v1 .

 指定Dockerfile构建

docker build -f Dockerfile.prod -t myapp:prod .

 不使用缓存构建

docker build --no-cache -t myapp:v1 .

 构建时传入参数

docker build --build-arg VERSION=1.0 -t myapp:v1 .

七、Docker Compose

# 启动所有服务
docker-compose up -d

 停止所有服务

docker-compose down

 查看服务状态

docker-compose ps

 查看服务日志

docker-compose logs -f

 重新构建并启动

docker-compose up -d --build

 只启动指定服务

docker-compose up -d nginx mysql

 扩展服务实例数

docker-compose up -d --scale web=3

八、实用技巧

# 清理所有未使用的资源(镜像+容器+网络+卷)
docker system prune -a --volumes

 查看Docker磁盘占用

docker system df

 批量停止所有容器

docker stop $(docker ps -q)

 批量删除所有已停止容器

docker rm $(docker ps -aq)

 查看容器内进程

docker top mynginx

 将容器提交为新镜像

docker commit mynginx mynginx-snapshot:v1

常用run参数速查

参数说明示例
-d后台运行docker run -d nginx
-it交互式终端docker run -it ubuntu bash
-p端口映射-p 8080:80
-v挂载卷-v /data:/app/data
--name容器名称--name myapp
--restart重启策略--restart always
-e环境变量-e MYSQL_ROOT_PASSWORD=123
--network指定网络--network mynet
--memory内存限制--memory 512m
--cpusCPU限制--cpus 1.5

建议收藏本文,需要时直接搜索对应命令。

评论
远方. All Rights Reserved. Theme Jasmine by Kent Liao.