我是这个容器的新手。我已经看到docker在虚拟化方面做得非常出色。使用操作系统映像(如Ubuntu,centos等)的意义是什么。例如,如果我需要运行mysql服务器。我可以将其拉起并简单地运行它。我不认为,因此我需要另一个OS图像的帮助。有人可以澄清吗?谢谢。
答案 0 :(得分:0)
这些Linux分发映像可用作进一步映像的基础。通常可以为某些特定的应用程序构建基于Ubuntu的映像,例如:
FROM ubuntu:18.04
RUN apt-get update && apt-get install ...
WORKDIR /app
COPY . ./
CMD ["./myapp"]
就您可能需要一个PostgreSQL客户端库而言,通过标准分发包管理器获取它比从源代码构建它要方便得多。
您是对的,直接运行这些图像基本上没有任何意义。
(您也很正确,您不需要 发行版:如果您有静态链接的二进制文件,则可以构建仅包含的映像FROM scratch
应用程序本身,而不是像系统C库或shell这样的常见细节,我只在Go应用程序中看到过这种情况;否则,如果您对Docker不满意,可能很难使用和调试。 )