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
注意:这会删除所有停止的容器、未使用的网络、未使用的镜像以及所有未被引用的卷。请谨慎使用!
浙公网安备 33010602011771号