以下是Docker常用命令的整理,涵盖了镜像管理、容器操作、网络和数据卷等核心功能:
一、镜像管理
-
拉取镜像
bash
docker pull [镜像名]:[标签] # 例如:docker pull ubuntu:20.04
-
查看本地镜像
bash
docker images # 列出所有本地镜像
docker images -q # 只显示镜像ID
-
删除镜像
bash
docker rmi [镜像ID/镜像名] # 删除指定镜像
docker rmi $(docker images -q) # 删除所有镜像
-
构建镜像
bash
docker build -t [镜像名]:[标签] [Dockerfile路径] # 例如:docker build -t myapp:1.0 .
-
推送镜像到仓库
bash
docker push [仓库名]/[镜像名]:[标签]
二、容器操作
-
创建并启动容器
bash
docker run [选项] [镜像名] [命令]
# 常用选项:
# -d: 后台运行
# -p 主机端口:容器端口: 端口映射
# -v 主机目录:容器目录: 挂载数据卷
# --name 容器名: 指定容器名称
# -it: 交互式终端
# 示例:docker run -d -p 8080:80 --name mynginx nginx
-
查看容器
bash
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器(包括停止的)
docker ps -q # 只显示运行中容器的ID
-
启动/停止/重启容器
bash
docker start [容器ID/容器名]
docker stop [容器ID/容器名]
docker restart [容器ID/容器名]
-
进入容器
bash
docker exec -it [容器ID/容器名] /bin/bash # 进入运行中的容器
docker attach [容器ID/容器名] # 进入容器(退出会导致容器停止)
-
删除容器
bash
docker rm [容器ID/容器名] # 删除停止的容器
docker rm -f [容器ID/容器名] # 强制删除运行中的容器
docker rm $(docker ps -aq) # 删除所有容器
-
查看容器日志
bash
docker logs [容器ID/容器名] # 查看日志
docker logs -f [容器ID/容器名] # 实时查看日志
三、数据卷管理
-
创建数据卷
bash
docker volume create [卷名]
-
查看数据卷
bash
docker volume ls
docker volume inspect [卷名] # 查看卷详情
-
删除数据卷
bash
docker volume rm [卷名]
docker volume prune # 删除未使用的数据卷
四、网络管理
-
创建网络
bash
docker network create [网络名]
-
查看网络
bash
docker network ls
docker network inspect [网络名] # 查看网络详情
-
连接容器到网络
bash
docker network connect [网络名] [容器名]
-
删除网络
bash
docker network rm [网络名]
五、其他常用命令
-
查看Docker信息
bash
docker info # 详细信息
docker version # 版本信息
-
清理资源
bash
docker system prune # 清理未使用的镜像、容器、网络
docker system prune -a # 清理所有未使用的资源(包括未被引用的镜像)
-
复制文件
bash
docker cp [容器ID/容器名]:[容器内路径] [主机路径] # 从容器复制到主机
docker cp [主机路径] [容器ID/容器名]:[容器内路径] # 从主机复制到容器
这些命令覆盖了Docker日常使用的大部分场景,熟练掌握可以高效管理容器和镜像。