新
| | |
Docker 常用命令备忘
镜像管理 (Images)
# 从仓库拉取镜像
docker pull [IMAGE_NAME]:[TAG]
# 查看本地镜像列表
docker images
# 删除本地镜像
docker rmi [IMAGE_ID/NAME]
# 镜像过滤查找 (Images Filter)
# 根据虚无镜像过滤 (dangling=true or false)
docker images --filter "dangling=true"
# 根据镜像创建时间过滤 (before, since)
docker images --filter "before=ubuntu:latest"
docker images --filter "since=mysql:5.7"
# 根据参考名称过滤
docker images --filter "reference=nginx:*"
# 构建镜像 (在 Dockerfile 所在目录下)
docker build -t [IMAGE_NAME]:[TAG] .
# 强制删除所有未使用镜像 (虚无镜像)
docker image prune -f
容器生命周期 (Containers)
# 运行容器
# -d 后台运行, -p 端口映射 宿主:容器, --name 指定名称
docker run -d -p 8080:80 --name my-container [IMAGE_NAME]
# 查看正在运行的容器
docker ps
# 查看所有容器 (包括已停止的)
docker ps -a
# 停止容器
docker stop [CONTAINER_ID/NAME]
# 启动已停止的容器
docker start [CONTAINER_ID/NAME]
# 重启容器
docker restart [CONTAINER_ID/NAME]
# 删除已停止的容器
docker rm [CONTAINER_ID/NAME]
# 强制停止并删除正在运行的容器
docker rm -f [CONTAINER_ID/NAME]
# 清理所有已停止的容器
docker container prune -f
容器内交互与调试
# 进入正在运行的容器终端
docker exec -it [CONTAINER_ID/NAME] /bin/bash
# 或者 (如果不支持 bash)
docker exec -it [CONTAINER_ID/NAME] /bin/sh
# 查看容器日志
docker logs -f [CONTAINER_ID/NAME]
# 查看最近 100 行日志
docker logs --tail 100 -f [CONTAINER_ID/NAME]
# 查看容器详细信息 (配置、网络等)
docker inspect [CONTAINER_ID/NAME]
# 查看容器内运行的进程
docker top [CONTAINER_ID/NAME]
# 查看容器资源占用 (CPU/内存)
docker stats [CONTAINER_ID/NAME]
# 修改容器名称
docker rename [OLD_NAME] [NEW_NAME]
# 实时查看容器内的事件流
docker events
镜像进阶操作
# 查看镜像层级结构或历史
docker history [IMAGE_NAME]
# 保存镜像为 tar 归档文件
docker save -o my-image.tar [IMAGE_NAME]
# 从 tar 归档文件加载镜像
docker load -i my-image.tar
# 将容器保存为镜像 (慎用,建议使用 Dockerfile)
docker commit [CONTAINER_ID] [NEW_IMAGE_NAME]
#####系统清理
# 查看 Docker 磁盘使用情况
docker system df
# 一键清理所有未使用的资源 (镜像、容器、网络)
# 注意:这会删除所有停止的容器和未被使用的镜像
docker system prune -a --volumes
文件传输
# 从宿主机拷贝到容器
docker cp [LOCAL_PATH] [CONTAINER_ID]:[CONTAINER_PATH]
# 从容器拷贝到宿主机
docker cp [CONTAINER_ID]:[CONTAINER_PATH] [LOCAL_PATH]
网络管理
# 查看网络列表
docker network ls
# 创建网络
docker network create [NETWORK_NAME]
# 查看网络详细细节
docker network inspect [NETWORK_NAME]
数据卷管理 (Volumes)
# 查看数据卷列表
docker volume ls
# 创建数据卷
docker volume create [VOLUME_NAME]
# 清理未使用的匿名卷
docker volume prune -f
Docker Compose (多容器编排)
# 后台启动所有服务
docker-compose up -d
# 停止并移除所有容器、网络、镜像和卷
docker-compose down
# 查看服务日志
docker-compose logs -f [SERVICE_NAME]
# 构建或重新构建服务
docker-compose build