工具箱2:docker操作

一、镜像管理

镜像(Image)是容器的基础,类似程序安装包。

  1. 拉取镜像从 Docker 仓库(默认 Docker Hub)下载镜像:
  2. 查看本地镜像列出所有已下载的镜像:
  3. 删除镜像删除本地指定镜像(需先删除依赖该镜像的容器):
  4. 构建镜像从 Dockerfile 构建自定义镜像:

二、容器操作

容器(Container)是镜像的运行实例,类似程序进程。

  1. 创建并启动容器基于镜像创建并运行容器(最常用命令):常用参数:-it:交互式运行(可进入容器终端)-d:后台运行(守护进程模式)-p 主机端口:容器端口:端口映射(如 -p 8080:80 把主机 8080 映射到容器 80)--name 容器名:指定容器名称-v 主机目录:容器目录:挂载数据卷(持久化数据)示例:
  2. 查看容器查看运行中的容器:查看所有容器(包括已停止的):
  3. 停止 / 启动 / 重启容器
  4. 进入运行中的容器在已运行的容器中执行命令(通常用于进入终端):
  5. 删除容器删除已停止的容器(运行中的容器需先停止):
  6. 查看容器日志查看后台运行容器的输出日志:

三、网络管理

Docker 网络用于容器间通信或容器与外部通信。

  1. 查看网络
  2. 创建自定义网络自定义网络可实现容器间通过名称通信:
  3. 将容器加入网络运行容器时指定网络:

四、数据卷管理

数据卷(Volume)用于持久化容器数据(容器删除后数据不丢失)。

  1. 创建数据卷
  2. 查看数据卷
  3. 删除数据卷
  4. 使用数据卷运行容器时挂载数据卷:

五、其他常用命令

  • 查看 Docker 系统信息:
  • 清理无用资源(停止的容器、未使用的镜像、网络等):

六、导出镜像(保存为本地文件)

使用 docker save 命令将本地镜像导出为 .tar 格式的文件,可包含一个或多个镜像。

命令格式

bash

docker save -o [导出的文件名.tar] [镜像1:标签] [镜像2:标签] ...

参数说明

  • -o:指定导出文件的路径和名称(也可用 --output)。
  • 可同时导出多个镜像,用空格分隔。

示例

  1. 导出单个镜像(如 ubuntu:20.04):
  2. 同时导出多个镜像(如 nginx:latest 和 mysql:5.7):

导出后,当前目录会生成对应的 .tar 文件,可通过文件传输工具复制到其他环境。

七、导入镜像(从本地文件加载)

使用 docker load 命令将 .tar 格式的镜像文件导入到本地 Docker 环境中。

命令格式

docker load -i [镜像文件.tar]
# 或通过管道导入:cat [镜像文件.tar] | docker load

参数说明

  • -i:指定要导入的 .tar 文件(也可用 --input)。

示例

导入之前导出的 ubuntu20.04.tar 镜像:

docker load -i ubuntu20.04.tar

导入成功后,可用 docker images 命令查看导入的镜像,其名称、标签与导出前一致。

八、docker load docker import 的区别

  • docker save + docker load:操作的是镜像(保留完整的镜像历史和元数据)。
  • docker export + docker import:操作的是容器快照(仅保存容器当前状态,不包含镜像历史,导入后会成为一个新镜像)。若需迁移完整镜像,优先使用 save 和 load。
开发常用工具箱(杂) 文章被收录于专栏

git docker ubuntu shell gdb

全部评论

相关推荐

不愿透露姓名的神秘牛友
12-18 11:21
优秀的大熊猫在okr...:叫你朋友入职保安,你再去送外卖,一个从商,一个从政,你们两联手无敌了,睁开你的眼睛看看,现在是谁说了算(校长在背后瑟瑟发抖)
选实习,你更看重哪方面?
点赞 评论 收藏
分享
12-16 14:57
门头沟学院 Java
迷茫的大四🐶:是这样的,我都拿到你这同一水平的offer了,那我接你的offer的意义在哪,我一开始想接你们的offer期待是很高的,希望你们下次继续努力
你今年的保底offer是...
点赞 评论 收藏
分享
头像
12-16 16:24
已编辑
河南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务