服务器上使用 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
相关推荐
BullSmall7 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
梦梦代码精10 小时前
开源AI应用平台BuildingAI解析:插件化架构、应用市场与热门案例
人工智能·机器学习·docker·开源
IT瑞先生12 小时前
Docker快速部署Mysql的三种方法——实操篇
mysql·adb·docker
梦远青城13 小时前
Docker 部署python的paddle进行OCR文字识别身份证
python·docker·ocr·paddle·身份证识别
java_logo14 小时前
ELK Docker Compose 部署指南:轻松搭建日志检索平台
elk·elasticsearch·docker·容器·kibana·logstash·轩辕镜像
ShallWeL14 小时前
Orin 上用 Docker 跑通目标检测功能
人工智能·目标检测·docker·容器
辰同学ovo15 小时前
用“舞台换景”讲清 Docker 的 Restart 与 Recreate
运维·docker·容器
看-是灰机16 小时前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书
关关长语1 天前
Wsl解决MySQL容器跨域权限问题
mysql·docker·容器
IT小辉同学1 天前
# Milvus v3.0-beta docker-compose 启动失败完整排错教程
docker·eureka·milvus