2016 - 2024

感恩一路有你

docker里image是什么 如何将dockerimage打包?

浏览量:4358 时间:2023-05-28 21:10:27 作者:采采

如何将dockerimage打包?

可以不,可以注册一个dockerhub账号,在Linux上dockerpush过去,从windows上dockerpull下来即可

Docker镜像和容器的区别详解?

当想让一个容器做两件事情,的或使一个Docker镜像中有来自两个有所不同镜像的依赖库时,就需要知道每个镜像的Dockerfile。本文可以介绍了怎么实际dockerhistory命令来对Docker镜像接受反向工程,我得到它们的Dockerfile,并成员到一个Dockerfile里接着builds,最终达到利用想要做的事。

常言道,“最好别重复发明轮子!”

在可以使用Docker时,最终形成自己的镜像之前,建议在DockerHub去寻找一些可以真接使用的镜像做练习。把软件架构其分布到一系列容器中,每一个容器只做一件事情,这样的效果的很好。统合分布式应用到的建议的基石是在用不知从何而来DockerHub的官方镜像,毕竟也可以绝对的信任它们的质量。

在某些情况下,很有可能想让一个容器做两件不同的事情。而在另外一些情况下,肯定想让一个Docker镜像包含无论是两个差别镜像的依赖库。如果有每个镜像的Dockerfile,这是的很简单点。将它们参与到一个Dockerfile里后再builds就行。

但这,大多数时间都在使用DockerHub上打算好的镜像,不会有它们的源Dockerfile。我花时间找一个也可以合并(或flatten)两个完全不同Docker镜像的工具,当然没有它们的Dockerfile。也就是说在找一个去做下面这件事的东西:

image1--

---gtmerged_image_12

/

image2--

此前在GitHub上有两个相关的讨论(1、2),但他它们都被直接关闭了。

这很可能吗?

这样的话,是否需要存在工具能像这样的话做吗:dockermergeimage2image2merged_image?

也没!

你甚至是可以用下面的来形成完整Dockerfile:

FROMimage1

FROMimage2

简言之,在一个Dockerfile里不能不能有多个基础镜像。

但是我必须这个功能!

任何的解决方法是全面的胜利这些镜像的Dockerfile,然后把把它们内部到一个文件中,再通过统合。那么,我能在DockerHub上我得到一个镜像的Dockerfile吗?幸运的是是可以。它不能不能离线模式某些(译注:原文是online,但显然gambling时这对不知从何而来GitHub的自动出现构建镜像是是可以再获取的),但你可以建议使用dockerhistory命令,反向工程声望兑换。

怎莫来使用?

在你的机器上在用dockerpull从DockerHub上网下载镜像。

dockerpullimage1

dockerpullimage2

接着使用dockerhistory来提出最终形成这两个容器时运行程序的命令。

dockerhistory--yes-trunctrueimagegtimage1-dockerfile

dockerhistory--so-trunctrueimage2gtimage2-dockerfile

接下来的可以打开这两个文件,你可以清晰的看到每个镜像的命令逻辑块。这是是因为Docker镜像通过层(阅读什么许多)的来构建体系。即你在Dockerfile中输入的每一个命令所构建体系的新镜像,都是在之前的命令出现的镜像之上。所以你这个可以对镜像进行逆向工程。

没限制

不能不能对镜像参与反向工程的真正场景,是镜像的维护者在他的Dockerfile中不使用了ADD或COPY命令。你会看见了这样的话一行:

ADDfile:1ac56373f7983caf22

或ADDdir:cf6fe659e9d21535844

这是是因为真不知道能维护者在他自己的机器上,除开镜像里建议使用了什么本地文件。

镜像 Dockerfile Docker 命令 DockerHub

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。