docker怎么下载运行 nas上docker能干嘛?
nas上docker能干嘛?
Docker可以被看作是一个 "小程序 "在NAS世界里,通过内部程序运行,帮助NAS实现更多功能,扩展用途。
当然,Docker不等于程序本身。你可以把它想成一个 "集装箱与运输-在里面加载各种程序。在Dock
Docker镜像和容器的区别详解?
当您希望一个容器做两件事,或者让一个Docker映像包含来自两个不同映像的依赖库时,您需要知道每个映像的Dockerfile。本文介绍了如何通过dockerhistory命令对Docker图片进行逆向工程,获取它们的Docker文件,组织成一个Docker文件并进行构建,从而实现你想要做的事情。
常言道, "唐 不要多此一举! "
使用Docker时,在建立自己的镜像之前,最好先在DockerHub中找一些可以直接使用的镜像进行练习。将软件架构分布到一系列容器中是非常有效的,每个容器只做一件事。构建分布式应用程序的最佳基础是使用DockerHub的官方图像,因为它们的质量是可信的。
在某些情况下,您可能希望一个容器做两件不同的事情。在其他情况下,您可能希望Docker映像包含来自两个不同映像的依赖库。如果每个图像都有一个docker文件,这就非常简单了。将它们组织到Dockerfile文件中并构建它们。
但是大部分时候都是使用DockerHub上准备的图片,不会有它们的源Dockerfile。我花时间找到了一个工具,可以合并(或展平)两个不同的Docker图像,而不需要它们的Docker文件。也就是说,寻找可以做到以下几点的东西:
图1 -
- gtmerged_image_12
/
图2 -
之前在GitHub上有两个相关的讨论(1和2),虽然都是关闭的。
这可能吗?
那么,有没有一个工具可以做到这一点:docker merge image 2 image2 merged _ image?
不要!
你可以 甚至不能用下面的方法构建Dockerfile:
来自图像1
来自图像2
简而言之,一个Dockerfile文件中不能有多个基本映像。
但是我需要这个功能!
唯一的解决方案是获取这些图像的Dockerfile,然后对它们进行分组。将它编织成一个文件,然后构建它。那么,我能在DockerHub上得到一个镜像Dockerfile吗?幸运的是,你可以。它可以 不可离线获取(原文在线,但显然在线时可以直接从GitHub获取),但可以使用dockerhistory命令通过逆向工程获取。
怎么用?
使用dockerpull从您机器上的DockerHub下载图像。
dockerpullimage1
dockerpullimage2
然后使用dockerhistory获取构建两个容器时运行的命令。
docker history-no-trunctrueimaggtimage 1-docker file
docker history-no-trunctruegimage 2g timage 2-docker file
接下来,打开这两个文件,您可以看到每个图像的命令堆栈。这是因为Docker图像是由层构建的(阅读更多)。也就是说,您在Dockerfile中键入的每个命令都会构建一个新的映像,该映像位于前一个命令生成的映像之上。所以你可以对镜像进行逆向工程。
限制
唯一的情况是你可以 对映像进行反向工程是指映像的维护者在docker文件中使用ADD或COPY命令。您将看到这样一行:
addfil: 1 AC 56373 f 7983 caf 22
或者add dir : cf 6 Fe 659 e 9d 21535844。
这是因为我不 我不知道维护人员在自己的机器上使用了什么本地文件,包括图像。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。