以下是一些 Docker 常用命令,适用于日常开发、调试、部署等场景,分为几个常用类别:
📦 一、镜像(Image)相关命令
命令 | 说明 |
---|---|
docker images |
查看本地所有镜像 |
docker pull <image> |
拉取镜像(如 docker pull nginx ) |
docker build -t <name:tag> . |
构建镜像(根据当前目录的 Dockerfile) |
docker rmi <image_id> |
删除指定镜像 |
docker rmi $(docker images -q) |
删除所有本地镜像 |
docker image inspect <image> |
查看镜像详细信息 |
🧱 二、容器(Container)相关命令
命令 | 说明 |
---|---|
docker ps |
查看正在运行的容器 |
docker ps -a |
查看所有容器(包括已停止的) |
docker run <options> <image> |
运行一个新容器(常用参数见下) |
docker stop <container_id> |
停止指定容器 |
docker start <container_id> |
启动已停止的容器 |
docker restart <container_id> |
重启容器 |
docker rm <container_id> |
删除指定容器 |
docker rm -f $(docker ps -aq) |
强制删除所有容器 |
docker logs <container_id> |
查看容器日志 |
docker exec -it <container_id> /bin/bash |
进入正在运行的容器(bash shell) |
docker inspect <container_id> |
查看容器详细信息 |
✅ docker run
常用参数
参数 | 说明 |
---|---|
-d |
后台运行容器 |
-p <host_port>:<container_port> |
映射端口(如 -p 8080:80 ) |
-v <host_path>:<container_path> |
挂载卷(目录映射) |
--name <name> |
指定容器名称 |
-e <KEY=VALUE> |
设置环境变量 |
--network <network> |
指定网络 |
--rm |
容器退出后自动删除 |
--restart always |
容器随 Docker 自动重启 |
🌐 三、网络(Network)相关命令
命令 | 说明 |
---|---|
docker network ls |
查看所有网络 |
docker network inspect <network> |
查看网络详情 |
docker network create <name> |
创建自定义网络 |
docker network connect <network> <container> |
将容器加入网络 |
docker network disconnect <network> <container> |
断开容器网络 |
🗂 四、数据卷(Volume)相关命令
命令 | 说明 |
---|---|
docker volume ls |
查看所有数据卷 |
docker volume inspect <volume> |
查看数据卷详情 |
docker volume create <name> |
创建数据卷 |
docker volume rm <name> |
删除数据卷 |
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 <container_id>:/path/to/file /host/path |
从容器拷贝文件到宿主机 |
docker cp /host/path <container_id>:/path/to/file |
从宿主机拷贝文件到容器 |
🧪 八、构建与推送镜像(用于 CI/CD)
bash
# 构建镜像
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 容器并挂载配置文件
bash
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 等),我可以给出更详细的命令示例。欢迎继续提问!