服务器上使用 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
相关推荐
eight *4 小时前
源码部署docker自动化脚本
docker·shell
sayyy4 小时前
【Docker】 安装 mysql8.0
mysql·docker
胡斌附体7 小时前
docker 升级
ubuntu·docker·升级·docker compose·apt-get
基哥的奋斗历程7 小时前
部署指南-1B-单体Docker-自建方案
运维·docker·容器
程序员老赵8 小时前
Apache RocketMQ Docker 容器化部署指南
docker·rocketmq
潘晓可8 小时前
Portainer - 加载环境失败
docker·容器
邂逅星河浪漫9 小时前
【Dify-Chatflow】简历优化助手实现+前后端分离式系统集成+Docker容器化部署)
java·docker·vue·springboot·dify·apifox
by__csdn10 小时前
Docker:从概念到实践的全面解析
java·运维·后端·docker·云原生·容器·eureka
银河麒麟操作系统10 小时前
从容器到 Docker 再到 Kubernetes 的进阶之路介绍
docker·容器·kubernetes