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 [容器名]
posted @ 2025-10-29 21:21  vonlinee  阅读(2)  评论(0)    收藏  举报