Docker常用命令
Docker服务
#启动
systemctl start docker
#守护进程重启
sudo systemctl daemon-reload
#重启docker服务
systemctl restart docker
#重启docker服务
sudo service docker restart
#关闭docker
service docker stop
# 关闭
docker systemctl stop docker
仓库地址
https://registry-1.docker.io/v2/
镜像相关
镜像搜索
# 搜索 PostgreSQL 相关镜像
docker search postgres
# 搜索特定版本的镜像
docker search postgresql-15
# 搜索官方镜像(通常有 [OK] 标记)
docker search --filter "is-official=true" postgres
# 搜索自动化构建的镜像
docker search --filter "is-automated=true" postgres
# 限制搜索结果数量
docker search --limit 10 postgres
# 按星级过滤(最少 stars 数)
docker search --filter stars=100 postgres
# 组合过滤条件
docker search --filter "is-official=true" --filter stars=1000 postgres
# 拉取镜像前查看可用标签
docker pull postgres
# 或者直接访问 Docker Hub 网站查看
# 查看已拉取的镜像
docker images postgres
# 查看镜像的详细层信息
docker image inspect postgres:15
# 查看镜像历史
docker history postgres:15
镜像操作
# 拉取镜像
docker pull postgres:15
# 拉取最新版本
docker pull postgres:latest
# 查看拉取的镜像
docker images | grep postgres
# 运行测试容器
docker run --rm -it postgres:15 --version
# 删除不需要的镜像
docker rmi postgres:13
# 检查镜像签名(如果支持)
docker trust inspect postgres:15
# 查看镜像的摘要
docker images --digests postgres:15
容器相关
创建和启动容器
# 创建并启动容器(前台运行)
docker run [镜像名]
# 创建并在后台运行
docker run -d [镜像名]
# 指定容器名称
docker run --name [容器名] [镜像名]
# 运行并自动删除(测试用)
docker run --rm [镜像名]
# 运行并映射端口
docker run -p 主机端口:容器端口 [镜像名]
# 运行并挂载数据卷
docker run -v 主机目录:容器目录 [镜像名]
# 运行并设置环境变量
docker run -e KEY=VALUE [镜像名]
启动/停止/重启容器
# 启动已停止的容器
docker start [容器名/ID]
# 停止运行中的容器
docker stop [容器名/ID]
# 强制停止容器
docker kill [容器名/ID]
# 重启容器
docker restart [容器名/ID]
# 暂停容器
docker pause [容器名/ID]
# 恢复暂停的容器
docker unpause [容器名/ID]
容器信息查看
查看容器状态
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 查看最近创建的容器
docker ps -l
# 查看容器大小
docker ps -s
# 格式化输出
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
查看容器详细信息
# 查看容器详细信息
docker inspect [容器名/ID]
# 查看容器IP地址
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' [容器名]
# 查看容器日志
docker logs [容器名/ID]
# 实时查看日志
docker logs -f [容器名/ID]
# 查看最近几条日志
docker logs --tail 100 [容器名/ID]
# 查看容器资源使用情况
docker stats [容器名/ID]
# 实时监控所有容器资源
docker stats
容器操作
进入容器执行命令
# 进入容器交互模式
docker exec -it [容器名/ID] /bin/bash
# 在容器中执行单个命令
docker exec [容器名/ID] [命令]
# 以root身份进入容器
docker exec -u root -it [容器名/ID] /bin/bash
文件操作
# 从容器复制文件到主机
docker cp [容器名/ID]:容器路径 主机路径
# 从主机复制文件到容器
docker cp 主机路径 [容器名/ID]:容器路径
# 查看容器文件列表
docker exec [容器名/ID] ls -la /path
容器网络
网络管理
# 查看容器网络配置
docker network ls
# 查看网络详细信息
docker network inspect [网络名]
# 创建自定义网络
docker network create [网络名]
# 将容器连接到网络
docker network connect [网络名] [容器名]
# 断开容器网络连接
docker network disconnect [网络名] [容器名]
端口管理
# 查看容器端口映射
docker port [容器名/ID]
# 映射多个端口
docker run -p 8080:80 -p 5432:5432 [镜像名]
容器更新和配置
更新运行中的容器
# 更新容器配置(需要重启)
docker update --memory 512m [容器名]
# 更新容器重启策略
docker update --restart=always [容器名]
# 更新CPU限制
docker update --cpus 1.5 [容器名]
重命名容器
docker rename [旧容器名] [新容器名]
容器清理和维护
删除容器
# 删除已停止的容器
docker rm [容器名/ID]
# 强制删除运行中的容器
docker rm -f [容器名/ID]
# 删除所有已停止的容器
docker container prune
# 删除所有容器(包括运行中的)
docker rm -f $(docker ps -aq)
清理资源
# 清理所有停止的容器、未使用的网络、构建缓存
docker system prune
# 清理所有内容(包括镜像、卷)
docker system prune -a
# 清理卷
docker volume prune
容器批量操作
批量管理
# 停止所有运行中的容器
docker stop $(docker ps -q)
# 启动所有停止的容器
docker start $(docker ps -aq)
# 删除所有退出的容器
docker rm $(docker ps -aq -f status=exited)
# 批量执行命令
docker ps -q | xargs docker stop
容器监控和调试
# 查看容器进程
docker top [容器名]
# 查看容器资源使用历史
docker stats --no-stream [容器名]
# 检查容器事件
docker events
# 查看容器变更
docker diff [容器名]

浙公网安备 33010602011771号