找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

167

积分

0

好友

21

主题
发表于 12 小时前 | 查看: 2| 回复: 0

在Linux服务器环境下进行日常开发和运维时,熟练使用Docker命令至关重要。本文梳理了一份覆盖镜像管理、容器操作、日志查看、网络端口映射及资源清理等核心场景的常用命令清单,是你在云原生实践中的重要参考。

镜像(Image)管理命令

操作Docker时,镜像是所有容器的基础。以下是管理本地镜像的常用命令:

命令 说明
docker images 列出本地所有镜像
docker pull <镜像名> 从仓库拉取镜像,例如 docker pull nginx
docker build -t <镜像名> . 基于当前目录的 Dockerfile 构建一个新镜像(. 代表构建上下文路径)
docker rmi <镜像名或ID> 删除指定的本地镜像
docker rmi $(docker images -q) (慎用) 删除所有本地镜像

容器(Container)生命周期管理

容器是镜像的运行实例,其管理涵盖从启动到清理的完整流程。

启动容器

后台运行容器是服务部署的推荐方式,使用 -d 参数并映射端口。

# 基本格式:后台启动并命名容器,映射端口
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

调试示例
假设容器内运行的是一个Python应用,可以进入容器检查文件或测试模块导入。

docker exec -it backend sh
ls /app          # 查看应用目录文件
python -c “import app.config”  # 测试Python模块能否正常导入

端口映射与网络

端口映射是将容器服务暴露给外部访问的核心配置。

  • -p 8000:8000:将宿主机的8000端口映射到容器内的8000端口。
  • docker port <容器名>:查看指定容器的端口映射情况。
  • 在服务器本地,可以通过 curl http://localhost:8000 测试服务是否正常响应。

重要提示:若需从外网访问服务,请务必在云服务器提供商(如阿里云、腾讯云)的安全组或防火墙规则中放行对应的主机端口

磁盘空间清理

定期清理无用的Docker资源可以有效释放服务器磁盘空间。

命令 说明
docker system prune 删除所有已停止的容器、未被使用的网络和构建缓存
docker system prune -a 更彻底地清理,额外删除所有未被容器使用的镜像
docker volume prune 清理未被任何容器引用的数据卷
docker image prune 清理所有悬空(dangling)镜像

建议:可定期执行 docker system prune 命令来释放空间。

FastAPI应用完整部署流程示例

以下是一个从构建到部署FastAPI服务的连贯操作示例,涵盖了上述多个命令。

# 1. 进入项目目录
cd /home/ubuntu/app/backend

# 2. 根据Dockerfile构建镜像
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. 在服务器本地测试API接口是否可达
curl http://localhost:8000

部署流程图解
图:Docker部署FastAPI的核心流程示意

常见权限问题处理

在操作时若遇到 Got permission denied while trying to connect to the Docker daemon 这类权限错误,是因为当前用户不在 docker 用户组中。解决方法如下:

# 将当前用户(例如ubuntu)加入docker组
sudo usermod -aG docker $USER

# 执行后,需要退出并重新登录SSH会话,组权限更改才会生效



上一篇:6种核心缓存技术深度解析:本地、Redis到数据库缓存实战指南
下一篇:Linux进程创建:fork与vfork深度解析及C/C++并发编程避坑指南
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-17 15:12 , Processed in 0.105867 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表