梳理一些 Docker 常用命令

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


一、镜像(Image)相关命令

命令 说明
docker images 查看本地所有镜像
docker pull 拉取镜像(如 docker pull nginx
docker 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 等),我可以给出更详细的命令示例。欢迎继续提问!

你可能感兴趣的:(后端技术栈,软件环境,实战总结,docker,eureka,容器)