Docker 基础命令
一、镜像(Image)操作
| 功能 | 命令 |
|---|---|
| 查看本地镜像列表 | docker images |
| 下载镜像 | docker pull <镜像名>:<标签>(如 docker pull nginx:alpine) |
| 查看镜像详细信息 | docker inspect <镜像名或ID> |
| 删除镜像 | docker rmi <镜像名:标签> 或 docker rmi <镜像ID> |
无法直接删除的情况:
- 镜像已被用于运行容器(需先删容器)
- 镜像有多个标签(需指定具体标签或强制删除)
强制删除:docker rmi -f <镜像ID>
| 功能 | 命令 |
|---|---|
| 导出镜像文件 | docker save -o <文件名> <镜像名:标签> |
| 从 文件导入镜像 | docker load -i <文件名> |
save/load保留镜像历史层和标签,适合镜像迁移。
二、容器(Container)操作
1. 创建与启动
docker run [选项] <镜像> [启动命令]
常用选项:
-i:保持 STDIN 打开(交互)-t:分配伪终端(常与-i联用)-d:后台运行(守护进程模式)--name:指定容器名称
示例:
# 后台运行一个持续输出的容器
docker run -d --name my-centos centos:7 /bin/bash -c "while true; do echo hello; sleep 5; done"
2. 查看容器
| 命令 | 说明 |
|---|---|
docker ps | 查看正在运行的容器 |
docker ps -a | 查看所有容器(包括已停止的) |
3. 删除容器
| 命令 | 说明 |
|---|---|
docker rm <容器名或ID> | 删除已停止的容器 |
docker rm -f <容器名或ID> | 强制删除运行中的容器 |
docker rm $(docker ps -aq) | 批量删除所有容器(慎用!) |
4. 进入容器
docker exec -it <容器名或ID> /bin/bash # 推荐(不影响主进程)
# 或
docker exec -it <容器名或ID> sh
不推荐使用
docker attach(退出会终止容器)
5. 文件拷贝(宿主机 ↔ 容器)
# 宿主机 → 容器
docker cp /host/path <容器ID>:/container/path
# 容器 → 宿主机
docker cp <容器ID>:/container/path /host/path
6. 容器 ↔ 镜像转换
| 操作 | 命令 |
|---|---|
| 将容器导出为 tar | docker export <容器ID> > abc.tar |
| 从 tar 导入为镜像 | `cat abc.tar |
注意:
export/import不保留历史层和元数据,生成的是扁平镜像(类似docker commit)- 推荐用
Dockerfile构建镜像,而非依赖import
关键总结
| 对象 | 核心命令动词 |
|---|---|
| 镜像 | pull、images、rmi、save、load |
| 容器 | run、ps、rm、exec、cp、export |
最佳实践:
- 镜像管理用
save/load- 容器调试用
exec,不用attach- 删除前先
stop,避免强制删除- 重要数据使用 Volume,而非依赖容器内部存储
38万+

被折叠的 条评论
为什么被折叠?



