到目前为止,我只看到一些操作系统的图像作为基础层。这有必要吗?没有操作系统可以运行一些容器吗?
答案 0 :(得分:0)
操作系统由内核和用户区实用程序组成。因此,没有Docker镜像与#34;操作系统"作为基础层,但许多图像以操作系统分布命名,具有特定的用户区实用程序。
您可以使用任何您喜欢的任何内容从tarball创建Docker镜像。但如果它缺少/ bin / sh并且你想在Dockerfile中包含一个RUN,它就不会有用。
答案 1 :(得分:0)
如果您按照如何构建Docker hub上的图像,您可以找到FROM scratch
(您可能需要将不同的FROM x
行跟踪到不同的图像,直到您达到划痕) 。 Scratch是空的,完全是空的,没有库,没有shell,没有文件。它被设计为一个起点,您可以将一堆文件复制到。
如果你有一个静态链接的二进制文件并且不想要容器内的任何其他内容,你也可以使用scratch。但请注意,调试容器变得更加困难,因为您无法在容器内部启动shell,但这也意味着攻击者也无法做到这一点。