服务器上使用 Docker 的常用命令清单

在 Ubuntu 服务器上使用 Docker 的常用命令清单 ,涵盖 镜像管理、容器操作、日志查看、网络与端口、清理资源 等核心场景,适合日常开发和运维。


🐳 一、镜像(Image)相关

命令 说明
docker images 列出本地所有镜像
docker build -t 镜像名 . 从当前目录的 Dockerfile 构建镜像(. 是构建上下文)
docker rmi 镜像名或ID 删除指定镜像
docker rmi $(docker images -q) 删除所有镜像(慎用)
docker pull 镜像名 从仓库拉取镜像(如 docker pull nginx)

📦 二、容器(Container)管理

启动容器

复制代码

bash

编辑

复制代码
# 后台运行(推荐部署用)
docker run -d --name 容器名 -p 主机端口:容器端口 镜像名

# 示例:启动 FastAPI
docker run -d --name backend -p 8000:8000 fastapi-backend

查看容器

命令 说明
docker ps 查看正在运行的容器
docker ps -a 查看所有容器(包括已停止的)
docker inspect 容器名 查看容器详细信息(IP、挂载、环境变量等)

停止/删除容器

命令 说明
docker stop 容器名 优雅停止容器
docker kill 容器名 强制终止容器
docker rm 容器名 删除已停止的容器
docker rm -f 容器名 强制停止并删除容器(最常用)
docker rm -f $(docker ps -aq) 删除所有容器(慎用)

📝 三、日志与调试

命令 说明
docker logs 容器名 查看容器完整日志
docker logs -f 容器名 实时跟踪日志 (类似 tail -f)
docker logs --tail 50 容器名 查看最近 50 行日志
docker logs -t 容器名 显示带时间戳的日志
docker exec -it 容器名 sh 进入容器内部(调试用) (如果容器有 bash,可用 bash 替代 sh)

💡 调试示例:

复制代码

bash

编辑

复制代码
docker exec -it backend sh
ls /app          # 查看文件是否复制成功
python -c "import app.config"  # 测试模块导入

🌐 四、端口与网络

命令 说明
-p 8000:8000 将主机 8000 端口映射到容器 8000 端口
docker port 容器名 查看容器端口映射情况
curl http://localhost:8000 在服务器本地测试服务是否通

⚠️ 注意:外网访问需在云平台(如腾讯云、阿里云)安全组/防火墙中放行对应端口!


🧹 五、清理与释放空间

命令 说明
docker system prune 删除所有停止的容器、无用网络、构建缓存
docker system prune -a 删除所有未使用的镜像 + 上述内容(更彻底)
docker volume prune 清理无用数据卷
docker image prune 清理悬空(dangling)镜像

✅ 建议定期执行 docker system prune 释放磁盘空间。


🚀 六、部署 FastAPI 常用完整流程

复制代码

bash

编辑

复制代码
# 1. 进入项目目录
cd /home/ubuntu/app/backend

# 2. 构建镜像
docker build -t fastapi-backend .

# 3. 停止旧容器(如果存在)
docker rm -f backend

# 4. 启动新容器
docker run -d --name backend -p 8000:8000 fastapi-backend

# 5. 查看日志
docker logs -f backend

# 6. 本地测试
curl http://localhost:8000

🔒 七、权限问题(常见)

如果遇到权限错误(如 Got permission denied while trying to connect to the Docker daemon),可将用户加入 docker 组:

复制代码

bash

编辑

复制代码
sudo usermod -aG docker ubuntu
# 然后重新登录 SSH
相关推荐
AscendKing6 小时前
Docker Compose 一键部署 SkyWalking 10.2.0 + Elasticsearch8.11,分布式链路追踪完整实战
elasticsearch·docker·skywalking·链路追踪·微服务监控
励志师code6 小时前
Kubernetes 集群节点生命周期管理实战:从扩容、调度管控到证书续期
运维·docker·容器·kubernetes·gpu算力·kubelet
木雷坞7 小时前
Docker Compose部署Metabase:应用库隔离与日期筛选看板
运维·docker·容器
怒放的生命19917 小时前
前端项目 Docker 打包实操指南
前端·docker·容器
tedcloud1237 小时前
Docker Compose 部署 Immich:手机照片自动备份与常见故障排查
运维·前端·docker·容器·智能手机·开源·流程图
古城小栈7 小时前
Docker Compose 云原生的底座
docker·云原生·容器
卜锦元8 小时前
Docker Compose 部署 Nginx 1.30.6 完整指南
nginx·docker·容器
xrlfreedom9 小时前
MCP 面试高频考点:把知识库 RAG 检索封装为 Tool,Docker 与结构化输出怎么配合不踩坑
docker·结构化输出·mcp
刘胡子大叔9 小时前
Docker 容器名 ping 不通
运维·docker·容器
a59865210 小时前
Docker多开云手机,六边云独立端口隔离访问实战
android·运维·docker·容器·智能手机·云手机