Docker容器常用命令汇总


🐳 Docker 常用命令速查卡片

📦 镜像操作(Image)

bash 复制代码
# 搜索镜像
docker search 镜像名

# 拉取镜像
docker pull 镜像名[:标签]

# 查看镜像
docker images

# 删除镜像
docker rmi 镜像ID

# 给镜像打标签
docker tag 镜像ID 新名称:标签

# 构建镜像
docker build -t 镜像名 .

# 查看镜像详情
docker inspect 镜像ID

🧱 容器操作(Container)

bash 复制代码
# 创建但不启动容器
docker create --name 容器名 镜像名

# 启动容器
docker start 容器名

# 停止容器
docker stop 容器名

# 重启容器
docker restart 容器名

# 删除容器
docker rm 容器名

# 强制删除
docker rm -f 容器名

# 查看运行中容器
docker ps

# 查看所有容器
docker ps -a

# 查看容器日志
docker logs [-f] 容器名

# 进入容器
docker exec -it 容器名 /bin/bash

# 容器与主机互拷文件
docker cp 容器名:/容器路径 本地路径
docker cp 本地路径 容器名:/容器路径

# 查看容器资源使用
docker stats

🌐 网络与端口

bash 复制代码
# 运行并映射端口
docker run -p 8080:80 镜像名

# 查看容器 IP
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器名

# 网络创建与管理
docker network create 网络名
docker network ls
docker network inspect 网络名
docker network connect 网络名 容器名
docker network disconnect 网络名 容器名

⚙️ 容器运行参数常用组合

bash 复制代码
docker run -d \
  --name 容器名 \
  -p 主机端口:容器端口 \
  -v 主机路径:容器路径 \
  -e "环境变量=值" \
  --restart always \
  镜像名

🧹 清理命令

bash 复制代码
# 删除停止的容器
docker container prune

# 删除未使用的镜像
docker image prune

# 删除未使用的资源
docker system prune

# 删除所有容器(危险)
docker rm $(docker ps -aq)

# 删除所有镜像(危险)
docker rmi $(docker images -q)

🧾 Docker Compose

bash 复制代码
# 启动服务
docker-compose up

# 后台启动
docker-compose up -d

# 停止并删除
docker-compose down

# 查看日志
docker-compose logs [-f]

# 重启服务
docker-compose restart

# 查看状态
docker-compose ps

# 构建镜像
docker-compose build

🚀 日常运维命令速查卡片(进阶篇)

✅ 启动 & 停止容器(批量操作)

bash 复制代码
# 启动所有容器
docker start $(docker ps -a -q)

# 停止所有运行中的容器
docker stop $(docker ps -q)

# 停止并删除所有容器
docker stop $(docker ps -q) && docker rm $(docker ps -a -q)

🧼 清理空间

bash 复制代码
# 删除所有未被使用的镜像
docker image prune -a

# 删除所有已停止的容器
docker container prune

# 一键清理所有未使用资源(包括网络、卷等)
docker system prune -a

# 删除所有卷(小心使用)
docker volume prune

🗂 文件操作(容器 ↔ 主机)

bash 复制代码
# 从容器中拷贝文件到主机
docker cp 容器ID:/path/in/container /path/on/host

# 从主机拷贝文件到容器中
docker cp /path/on/host 容器ID:/path/in/container

# 示例:将日志文件拷出
docker cp my-container:/var/log/app.log ./app.log

# 示例:将配置文件拷入容器
docker cp ./nginx.conf my-nginx:/etc/nginx/nginx.conf

🔍 网络 & 端口调试

bash 复制代码
# 查看容器监听端口
docker port 容器名

# 查看容器网络 IP
docker inspect -f '{{.NetworkSettings.IPAddress}}' 容器名

# 查看所有容器及网络连接
docker network inspect bridge

# 检查容器是否能连通某地址
docker exec 容器名 ping 172.18.0.1

# 检查容器内端口监听情况
docker exec 容器名 netstat -tulnp
docker exec 容器名 ss -tuln

🐞 容器日志 & Debug

bash 复制代码
# 实时查看容器日志
docker logs -f 容器名

# 查看最近 100 行日志
docker logs --tail 100 容器名

# 进入容器交互终端
docker exec -it 容器名 /bin/bash

# 容器中查看环境变量
docker exec 容器名 printenv

# 临时运行一个交互式容器(测试用)
docker run --rm -it busybox /bin/sh

🧰 容器部署维护场景示例

🎯 示例:部署 Nginx 并挂载配置
bash 复制代码
docker run -d \
  --name nginx \
  -p 8080:80 \
  -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf \
  nginx
📋 示例:数据库容器 + 数据持久化
bash 复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=123456 \
  -v /mydata/mysql:/var/lib/mysql \
  mysql:5.7

💡 小技巧

场景 命令
查看容器启动命令 docker inspect --format '{``{.Path}} {``{range .Args}} {``{.}} {``{end}}' 容器名
查看容器运行时间 docker ps -a --format "{``{.Names}}\t{``{.Status}}"
修改运行容器配置(需要重新创建) docker commit + docker run
使用容器网络联通测试 docker network connect 网络名 容器名

相关推荐
网硕互联的小客服1 分钟前
服务器 CPU 温度过高需要进行的物理处理和软件处理有哪些?
运维·服务器
济61712 分钟前
linux(第十三期)--filezilla使用方法(实现ubuntu和windows11文件互传)-- Ubuntu20.04
linux·运维·ubuntu
HIT_Weston13 分钟前
91、【Ubuntu】【Hugo】搭建私人博客:侧边导航栏(五)
linux·运维·ubuntu
阿巴~阿巴~15 分钟前
从不可靠到100%可靠:TCP与网络设计的工程智慧全景解析
运维·服务器·网络·网络协议·tcp/ip·智能路由器
超龄超能程序猿22 分钟前
Docker常用中间件部署笔记:MongoDB、Redis、MySQL、Tomcat快速搭建
笔记·docker·中间件
一殊酒25 分钟前
【Figma】Figma自动化
运维·自动化·figma
奔波霸的伶俐虫26 分钟前
windows docker desktop 安装修改镜像学习
学习·docker·容器
原神启动129 分钟前
K8S(六)—— 企业级,Rancher安装配置与核心功能实操
容器·kubernetes·rancher
阿杰 AJie30 分钟前
安装 docker.io(不走外网 Docker 域名)
docker·容器·eureka
食咗未32 分钟前
Linux iptables工具的使用
linux·运维·服务器·驱动开发·网络协议·信息与通信