Docker使用常用命令

1. 容器管理 (Containers)

这是最频繁使用的部分。容器是镜像的运行实例。

  • 运行容器:docker run [OPTIONS] IMAGE

  • -d: 后台运行。

  • -p 8080:80: 端口映射(宿主机:容器)。

  • --name my-app: 指定容器名称。

  • -v /host:/container: 挂载数据卷。

  • 查看容器:

  • docker ps: 查看正在运行的容器。

  • docker ps -a: 查看所有容器(包括已停止的)。

  • 停止/启动/重启:

  • docker stop/start/restart <ID/Name>

  • 删除容器:

  • docker rm <ID/Name>: 删除已停止的。

  • docker rm -f <ID/Name>: 强制删除正在运行的。

  • 进入容器内部:

  • docker exec -it <ID/Name> /bin/bash: 在容器中开启一个交互式终端。


2. 镜像管理 (Images)

镜像相当于“程序安装包”。

  • 拉取镜像:docker pull <image_name>:<tag>(默认标签是 latest)。
  • 列出本地镜像:docker images。
  • 构建镜像:docker build -t my-image:v1 .(. 表示当前目录下的 Dockerfile)。
  • 删除镜像:docker rmi <ImageID>。
  • 清理无用镜像:docker image prune: 删除虚悬镜像(dangling images)。

3. 日志与监控 (Observability)

用于排查你之前遇到的数据库连接或 SQL 报错。

  • 查看日志:

  • docker logs <ID/Name>: 查看当前所有日志。

  • docker logs -f <ID/Name>: 实时跟踪日志输出(类似 tail -f)。

  • docker logs --tail 100 <ID/Name>: 查看最后 100 行。

  • 查看状态:

  • docker stats: 实时显示容器的 CPU、内存、网络 IO 等资源占用。

  • 查看详细信息:

  • docker inspect <ID/Name>: 返回容器的配置 JSON(包括 IP 地址、挂载路径等)。


4. 网络与卷 (Network & Volumes)

处理容器间通信和数据持久化。

  • 卷管理:

  • docker volume ls: 列出所有数据卷。

  • docker volume rm <name>: 删除指定卷。

  • 网络管理:

  • docker network ls: 查看网络列表。

  • docker network inspect bridge: 查看网桥详情。

  • docker network create my_app_net:创建一个名为 my_app_net 的桥接网络

  • docker network rm <network_name>:删除网络


5. Docker Compose (多容器编排)

你在部署 PostgreSQL 18 时已经用到了它,这是管理复杂项目的核心工具。

  • 后台启动:docker compose up -d。
  • 停止并移除资源:docker compose down(会移除容器和网络,但默认保留卷)。
  • 查看状态:docker compose ps。
  • 重启特定服务:docker compose restart <service_name>(如 docker compose restart postgres-db)。

6. 系统清理 (The "Magic" Command)

如果你的磁盘空间爆满了,这行命令可以救命:

docker system prune -a --volumes

注意:这会删除所有停止的容器、未使用的网络、未使用的镜像以及所有未被引用的卷。请谨慎使用!

posted @ 2026-01-07 16:38  旧色染新烟  阅读(26)  评论(0)    收藏  举报