Docker 常用命令分类整理

容器生命周期管理

启动新容器并后台运行
docker run -d --name my-container nginx:latest

启动交互式容器并进入终端
docker run -it ubuntu:20.04 /bin/bash

启动容器并映射端口
docker run -d -p 8080:80 --name web nginx

启动容器并挂载数据卷
docker run -d -v /host/path:/container/path --name app my-app

停止/重启容器
docker stop container_name
docker start container_name
docker restart container_name

删除容器
docker rm container_name
docker rm -f container_name(强制删除运行中容器)

镜像管理

查看本地镜像列表
docker images
docker images -a(包含中间层镜像)

拉取和推送镜像
docker pull nginx:latest
docker push myrepo/my-image:tag

构建镜像
docker build -t my-app:1.0 .
docker build -t my-app:1.0 /path/to/dockerfile

删除镜像
docker rmi image_id
docker image prune(清理悬空镜像)

容器监控与操作

查看容器状态
docker ps(运行中容器)
docker ps -a(所有容器)

查看容器日志
docker logs container_name
docker logs -f container_name(实时日志)

进入容器执行命令
docker exec -it container_name /bin/bash
docker exec container_name ls -la

资源监控
docker stats(实时资源使用)
docker top container_name(容器进程)

网络管理

网络操作
docker network ls
docker network create my-network

容器网络配置
docker run -d --name web --network my-network nginx
docker run -d --name web --hostname my-web nginx

数据卷管理

卷操作
docker volume create my-volume
docker volume inspect my-volume

卷挂载方式
docker run -d -v my-volume:/app/data --name app my-app
docker run -d -v /host/path:/container/path:ro --name app my-app(只读挂载)

Docker Compose

服务管理
docker-compose up -d(启动服务)
docker-compose down(停止服务)

日志与扩展
docker-compose logs -f(实时日志)
docker-compose up -d --scale web=3(扩展实例)

系统维护

信息查看
docker system info
docker version

清理命令
docker system prune(清理未使用对象)
docker builder prune(清理构建缓存)

实用技巧

批量操作
docker stop $(docker ps -q)(停止所有容器)
docker rm $(docker ps -aq)(删除所有容器)

调试命令
docker inspect --format='{{.State.Health.Status}}' container_name(健康检查)
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name(查看IP)

配置示例

MySQL容器

docker run -d \
  --name mysql-db \
  -e MYSQL_ROOT_PASSWORD=password \
  -v mysql_data:/var/lib/mysql \
  -p 3306:3306 \
  mysql:8.0

Redis容器

docker run -d \
  --name redis-cache \
  -v redis_data:/data \
  -p 6379:6379 \
  redis:alpine

更多推荐