我不确定我问的是正确的问题......但是当我一直在阅读所有可以解决的Docker时,我看到我可以在Ubuntu 12.04上安装Docker(例如)然后我可以安装一个Fedora容器还是不同版本的ubuntu?(有一个例子,用户在容器中安装了busybox.)
当然,我可能完全错了.
但我希望基础系统和容器之间存在短暂的连接.
重申:主机操作系统和容器基础映像的操作系统之间的关系是什么?
我试图了解Docker的概念,但有一点我无法理解:
据我所知,图像(因此 - 容器)可以从不同的Linux发行版中实例化,例如Ubuntu,CentOS等.
让我们说在主机上我运行标准的Ubuntu 14.04,
额外问题:如果开发人员未在Docker集线器描述中指定它,我如何知道用于图像的基本图像?
先感谢您!
我正在尝试使用不带任何操作系统的JRE创建映像。我尝试了这个不起作用的Dockerfile。
FROM openjdk:11.0.1-jdk-oraclelinux7 as JDK
RUN jlink --no-header-files --no-man-pages --add-modules java.base,java.desktop,java.logging,java.sql --output /jre
FROM scratch
#FROM oraclelinux:7-slim
COPY --from=JDK /jre /jre
ARG JAR_FILE
COPY ${JAR_FILE} /app.jar
CMD ["/jre/bin/java", "-jar", "/app.jar"]
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
standard_init_linux.go:190: exec user process caused "no such file or directory"
Run Code Online (Sandbox Code Playgroud)
如果我用oraclelinux替换草稿,它将正常工作。为什么我不能使用草稿的任何线索。使用刮擦的原因是为了减小图像的尺寸。
任何帮助表示赞赏。