目录
[1. 生命周期管理](#1. 生命周期管理)
[2. 查看与监控](#2. 查看与监控)
[3. 数据操作](#3. 数据操作)
[八、Docker Compose 常用命令](#八、Docker Compose 常用命令)
Docker 中操作镜像(Image)、容器(Container)等核心资源的常用命令大全,按功能分类整理:
一、镜像(Image)操作
命令 | 说明 | 示例 |
---|---|---|
docker images |
列出本地镜像 | docker images -a (含中间层镜像) |
docker pull |
拉取镜像 | docker pull ubuntu:22.04 |
docker build |
构建镜像 | docker build -t myapp:v1 . |
docker rmi |
删除镜像 | docker rmi nginx:alpine |
docker image prune |
清理悬空镜像 | docker image prune -a (清理所有未使用镜像) |
docker save |
导出镜像 | docker save -o nginx.tar nginx |
docker load |
导入镜像 | docker load -i nginx.tar |
docker history |
查看镜像构建历史 | docker history nginx |
docker tag |
标记镜像 | docker tag nginx myrepo/nginx:v2 |
二、容器(Container)操作
1. 生命周期管理
命令 | 说明 | 示例 |
---|---|---|
docker run |
创建并启动容器 | docker run -d -p 80:80 --name webserver nginx |
docker start/stop/restart |
启停容器 | docker stop webserver |
docker rm |
删除容器 | docker rm -f webserver (强制删除运行中容器) |
docker create |
创建但不启动 | docker create --name temp ubuntu |
docker exec |
在运行中容器执行命令 | docker exec -it webserver bash |
docker update |
更新容器配置 | docker update --memory 512M webserver |
2. 查看与监控
命令 | 说明 | 示例 |
---|---|---|
docker ps |
列出容器 | docker ps -a (含停止的容器) |
docker logs |
查看容器日志 | docker logs -f webserver (实时日志) |
docker top |
查看容器进程 | docker top webserver |
docker stats |
实时资源监控 | docker stats (所有容器) |
docker inspect |
查看容器详情 | docker inspect webserver |
docker port |
查看端口映射 | docker port webserver 80 |
docker diff |
查看文件变更 | docker diff webserver |
3. 数据操作
命令 | 说明 | 示例 |
---|---|---|
docker cp |
复制文件 | docker cp webserver:/etc/nginx . |
docker commit |
创建新镜像 | docker commit webserver mynginx |
三、网络(Network)操作
命令 | 说明 | 示例 |
---|---|---|
docker network ls |
列出网络 | |
docker network create |
创建网络 | docker network create mynet |
docker network inspect |
查看网络详情 | docker network inspect bridge |
docker network connect |
连接容器到网络 | docker network connect mynet webserver |
docker network prune |
清理未使用网络 |
四、卷(Volume)操作
命令 | 说明 | 示例 |
---|---|---|
docker volume ls |
列出卷 | |
docker volume create |
创建卷 | docker volume create dbdata |
docker volume inspect |
查看卷详情 | |
docker volume rm |
删除卷 | docker volume rm dbdata |
docker volume prune |
清理未使用卷 |
五、系统维护
命令 | 说明 | 示例 |
---|---|---|
docker system df |
查看磁盘使用 | |
docker system prune |
清理所有未使用资源 | docker system prune -a --volumes |
docker info |
显示系统信息 | |
docker version |
显示版本信息 | |
docker events |
查看实时事件 | docker events --filter 'event=start' |
六、组合命令(高效操作)
# 1. 批量停止所有容器
docker stop $(docker ps -q)
# 2. 批量删除所有容器
docker rm -f $(docker ps -aq)
# 3. 批量删除所有镜像
docker rmi -f $(docker images -q)
# 4. 清理所有无用资源
docker system prune -a -f --volumes
# 5. 按名称过滤容器
docker ps --filter "name=web"
# 6. 按状态过滤容器
docker ps --filter "status=exited"
# 7. 查看容器资源限制
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
七、日志管理
# 1. 查看最后100行日志
docker logs --tail 100 webserver
# 2. 查看特定时间段的日志
docker logs --since 2023-01-01 --until 2023-01-02 webserver
# 3. JSON格式日志解析
docker logs webserver | jq
八、Docker Compose 常用命令
命令 | 说明 |
---|---|
docker-compose up -d |
启动服务 |
docker-compose down |
停止并删除资源 |
docker-compose ps |
查看服务状态 |
docker-compose logs |
查看服务日志 |
docker-compose build |
重新构建镜像 |
docker-compose exec |
进入服务容器 |
九、配置别名(简化操作)
在 ~/.bashrc
中添加:
alias dk='docker'
alias dkc='docker-compose'
alias dkps='docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.Ports}}"'
alias dkimg='docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"'
alias dkprune='docker system prune -af'
执行 source ~/.bashrc
生效
十、可视化工具推荐
-
Portainer :
docker run -d -p 9000:9000 --name portainer \ -v /var/run/docker.sock:/var/run/docker.sock \ portainer/portainer
-
Lazydocker :
docker run --rm -it -v \ /var/run/docker.sock:/var/run/docker.sock \ lazyteam/lazydocker
这些命令覆盖了 Docker 日常管理的核心场景,建议收藏作为速查手册!