docker - docker Ubuntu 镜像的用例是什么
问题描述
我是这个容器的新手。我已经看到 docker 在虚拟化方面做得非常出色。使用 Ubuntu、centos 等操作系统映像有什么意义?例如,如果我需要运行 mysql 服务器。我可以把它拉起来,然后简单地运行它。我不认为我需要另一个操作系统图像的帮助。谁能澄清这一点?谢谢。
解决方案
这些 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 没有信心,它可能很难使用和调试。)
推荐阅读
- html - 为什么表单的可写部分从中间开始?
- javascript - Vue Router 在 Leaflet Popup 中无法正常工作
- sql-server - MVC 5根据用户级别从SQL中列出项目
- javascript - 在 d3 中鼠标悬停时如何突出显示节点、它们连接的节点和它们的连接?
- r - 如何根据 R 中的行和将矩阵一分为二?
- xslt - 添加 XSL:Stylesheet If Then Else
- python - 如何遍历所有 crontab 作业并打印作业的时间表、命令和注释
- javascript - 如何在我的 json 有效负载中插入变量?
- javascript - 在函数中使用 fetch 的 javascript 未定义值
- awk - 搜索超过 2 行的字符串