docker导出镜像、容器打镜像

这篇具有很好参考价值的文章主要介绍了docker导出镜像、容器打镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有两种方法,一种是通过容器,一种是通过镜像

方法一:通过容器导出镜像

1 首先使用 docker ps -a 查看本机上的所有容器

docker ps -a

2 导出镜像

使用 docker export 命令根据容器 id 将镜像导成一个文件

docker export 容器id > image.tar

上面命令执行之后,我们便可以通过 ls 命令在当前目录下发现 image.tar

3 导入镜像

使用 docker import 命令将这个镜像导进来

docker import 容器名 < image.tar

通过 docker images 命令查看镜像是否导入

docker images

方法二:通过镜像

1 通过 docker image 查看本机上的所有镜像

docker imags

2 找到要上传的镜像的 id, 使用 docker save 命令将镜像保存为一个文件

docker save 镜像id > image.tar

docker save 可以将多个 image 打包成一个文件

docker save -o image.tar 镜像1 镜像2

3 通过 docker load 载入镜像

docker load < image.tar

这两种方案的差别

1,文件大小不同

export 导出的镜像文件体积小于 save 保存的镜像

2,是否可以对镜像重命名

docker import 可以为镜像指定新名称

docker load 不能对载入的镜像重命名

3,是否可以同时将多个镜像打包到一个文件中

docker export 不支持

docker save 支持

4,是否包含镜像历史

export 导出(import 导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史记录和元数据信息(即仅保存容器当时的快照状态),所以无法进行回滚操作。

而 save 保存(load 加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。

5,应用场景不同

docker export 的应用场景:主要用来制作基础镜像,比如我们从一个 ubuntu 镜像启动一个容器,然后安装一些软件和进行一些设置后,使用 docker export 保存为一个基础镜像。然后,把这个镜像分发给其他人使用,比如作为基础的开发环境。

docker save 的应用场景:如果我们的应用是使用 docker-compose.yml 编排的多个镜像组合,但我们要部署的客户服务器并不能连外网。这时就可以使用 docker save 将用到的镜像打个包,然后拷贝到客户服务器上使用 docker load 载入。

镜像重命名

docker tag 存在的镜像名:tag caidingnu/镜像名称:tag

镜像推送到dockerhub

先登录docker,输入账号密码

docker login -u 用户名 -p 密码

推送镜像到docker hub文章来源地址https://www.toymoban.com/news/detail-436621.html

docker push <hub-user>/<repo-name>:<tag>

jar包打镜像

docker build -t 镜像名:tag .   #点不能少 dockerfile的路径

容器打镜像

sudo docker commit -a "" -m "new image" 容器id xxl:v0 
Option 功能
-a 指定新镜像作者
-c 使用 Dockerfile 指令来创建镜像
-m 提交生成镜像的说明信息
-p 在 commit 时,将容器暂停

到了这里,关于docker导出镜像、容器打镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生】Docker镜像和容器的导入导出及常用命令

    大家好,本文是对 Docker 的镜像和容器的一些操作指令的汇总,比如镜像和容器的导入导出,以及一些在使用过程中的常用命令。希望对大家有所帮助~ 1.1、镜像的导入导出 1.1.1、镜像的保存 通过镜像ID保存 方式一: 例如: 方式二: 例如: 通过镜像 repository 和 tag 保存 例如

    2024年02月02日
    浏览(55)
  • Docker 部署 SpringBoot 的两种方法,后一种一键部署超好用!

    1.手工方式 1.1.准备Springboot jar项目 1.2.编写Dockerfile 1.3.构建容器 1.4.运行容器 1.5.查看运行日志 1.6.访问测试 2.Docker远程连接并且使用idea一键部署 2.1.配置docker远程连接端口 2.2.使用idea连接到docker 2.3.docker-maven-plugin 介绍 将项目打包成jar FROM:表示基础镜像,即运行环境 VOLUME /

    2024年02月08日
    浏览(37)
  • 【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

    最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。 经过本人在Linux虚机中启动MySQL容器导入数据再 docker commit 出镜像部署到平台上

    2024年02月11日
    浏览(38)
  • k8s手动下载镜像、通过容器创建镜像方法

    1、首先pull镜像到本地 2、转储镜像 如: 3、解压 补充 1、如果要将tar还原成镜像 或者用输入重定向 1、使用 docker commit 创建镜像 查看容器ID 选择一个具体的运行过的容器,执行docker commit,并且指定镜像标签与版本 2、使用 docker export 和 docker import 创建镜像 查看容器ID 导出容

    2024年02月07日
    浏览(50)
  • docker基于已有容器和通过Dockerfile进行制作镜像配置介绍

    目录 一.制作镜像的两种方式 1.在已有容器中更新并提交这个镜像 2.使用Dockerfile来制作 二.基于容器制作镜像 1.格式 (1)主要格式 (2)可选参数 2.案例 基于容器创建镜像设置标签并进行验证是否可用 (1)运行容器并写入验证内容(改变容器存储层内容) (2)另起终端制

    2024年02月11日
    浏览(57)
  • 工具系列(九) 本文(2万字) | 在ubuntu中安装docker教程 | 在Linux下Docker将镜像导出 | 上传至服务器 | 部署并创建容器 |

    点击进入专栏: 《人工智能专栏》 Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程

    2024年01月19日
    浏览(81)
  • Docker 批量删除容器或镜像方法

    一、首先需要停止所有运行中的容器 docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器,包括未运行的。 -q : 静默模式,只显示容器编号。 二、删除所有容器,将上面命令中的 stop 改为 rm 即可: docker images -q 意思是列出本地镜像

    2024年02月11日
    浏览(46)
  • Docker在windows下使用教程,通过Dockerfile创建镜像/容器,以YOLO系列为例

     通过可视化界面将极大的降低学习难度。  1.1、Docker Desktop下载  下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker 应当是这个界面,选择下载即可 1.2、下载完成后需打开window自带的虚拟机       将Hyper-V勾选即打开,勾选后需重启。  1.3、下载WSL,由于是在

    2024年02月05日
    浏览(66)
  • 华纳云:docker更新容器镜像的常用方法

    更新 Docker 容器镜像可以通过以下几种方法实现: 1. 使用 docker pull 命令手动拉取更新的镜像: docker pull 镜像名:标签 这会拉取指定镜像的最新版本或者指定标签的版本到本地。然后您可以停止并删除现有的容器,使用新的镜像创建一个新的容器。 docker stop 容器ID或容器名 d

    2024年02月20日
    浏览(51)
  • windows部署python项目(以Flask为例)到docker,通过脚本一键生成dockerfile并构建镜像启动容器

    这里使用 pipreqs 进行依赖库的识别。使用 pipreqs 可以自动检索到当前项目下的所有组件及其版本,并生成 requirements.txt 文件。相比直接用pip freeze 命令,避免将整个python环境的依赖包写入。 在项目的当前目录中执行 pipreqs ./ --encoding=utf8 --force 这里使用的是一个基于flask项目,

    2023年04月08日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包