> 技术文档 > 梳理一些 Docker 常用命令

梳理一些 Docker 常用命令

以下是一些 Docker 常用命令,适用于日常开发、调试、部署等场景,分为几个常用类别:


📦 一、镜像(Image)相关命令

命令 说明 docker images 查看本地所有镜像 docker pull 拉取镜像(如 docker pull nginxdocker build -t . 构建镜像(根据当前目录的 Dockerfile) docker rmi 删除指定镜像 docker rmi $(docker images -q) 删除所有本地镜像 docker image inspect 查看镜像详细信息

🧱 二、容器(Container)相关命令

命令 说明 docker ps 查看正在运行的容器 docker ps -a 查看所有容器(包括已停止的) docker run 运行一个新容器(常用参数见下) docker stop 停止指定容器 docker start 启动已停止的容器 docker restart 重启容器 docker rm 删除指定容器 docker rm -f $(docker ps -aq) 强制删除所有容器 docker logs 查看容器日志 docker exec -it /bin/bash 进入正在运行的容器(bash shell) docker inspect 查看容器详细信息

docker run 常用参数

参数 说明 -d 后台运行容器 -p : 映射端口(如 -p 8080:80-v : 挂载卷(目录映射) --name 指定容器名称 -e 设置环境变量 --network 指定网络 --rm 容器退出后自动删除 --restart always 容器随 Docker 自动重启

🌐 三、网络(Network)相关命令

命令 说明 docker network ls 查看所有网络 docker network inspect 查看网络详情 docker network create 创建自定义网络 docker network connect 将容器加入网络 docker network disconnect 断开容器网络

🗂 四、数据卷(Volume)相关命令

命令 说明 docker volume ls 查看所有数据卷 docker volume inspect 查看数据卷详情 docker volume create 创建数据卷 docker volume rm 删除数据卷 docker volume prune 清理未使用的数据卷

🧼 五、清理命令(释放空间)

命令 说明 docker system prune 清理未使用的容器、镜像、网络、构建缓存 docker system prune -a 更彻底清理(包括未使用的镜像) docker image prune -a 清理未使用的镜像 docker container prune 清理已停止的容器 docker volume prune 清理未使用的数据卷

📊 六、查看信息命令

命令 说明 docker info 查看 Docker 系统信息 docker version 查看 Docker 版本信息 docker stats 实时查看容器资源使用情况(CPU、内存等)

📁 七、文件复制命令

命令 说明 docker cp :/path/to/file /host/path 从容器拷贝文件到宿主机 docker cp /host/path :/path/to/file 从宿主机拷贝文件到容器

🧪 八、构建与推送镜像(用于 CI/CD)

# 构建镜像docker build -t myapp:1.0 .# 给镜像打 tag(用于推送到私有仓库)docker tag myapp:1.0 registry.example.com/myapp:1.0# 推送镜像到远程仓库docker push registry.example.com/myapp:1.0# 登录私有仓库docker login registry.example.com

📝 示例:运行一个 Nginx 容器并挂载配置文件

docker run -d \\ --name mynginx \\ -p 80:80 \\ -v /mydata/nginx.conf:/etc/nginx/nginx.conf \\ nginx

✅ 小贴士

  • 使用 --name 给容器命名,便于管理。
  • 多容器项目建议使用 docker-compose.yml 管理。
  • 使用 docker-compose up -d 启动多个服务更方便。
  • 推荐使用命名卷(named volumes)或绑定挂载(bind mounts)管理持久化数据。

如果你有具体的使用场景(如部署 Spring Boot、Vue、MySQL 等),我可以给出更详细的命令示例。欢迎继续提问!