Dockerfile的第一行-什么操作系统?

时间:2019-05-15 15:20:16

标签: docker ubuntu dockerfile

有时,我将Dockerfile的第一行视为:

FROM ubuntu:16.04

有时是

FROM python:2.7-slim

假设我正在Ubuntu 18.04上运行Docker,并且Dockerfile的第一行是FROM python:2.7-slim,这是否意味着默认情况下所有其他必要资源都将来自Ubuntu 18.04?

此外,如果我在Ubuntu 18.04上运行Docker,并且Dockerfile的第一行是FROM ubuntu:16.04。这是否意味着现在我所有必要的资源都将来自Ubuntu 16.04?

2 个答案:

答案 0 :(得分:1)

那是基本图片。

python:2.7-slim基本映像是debian:stretch-slim,如您在Dockerfile

中所见

因此,这意味着如果您使用的是python:2.7-slim映像,则您的依赖项将来自debian。

容器不关心主机操作系统,如果您正在运行ubuntu:16.04,则意味着您尝试在容器上安装的所有内容都将来自Ubuntu 16.04存储库。

您可以阅读有关基础图像here的更多信息。

答案 1 :(得分:1)

每个Dockerfile应该以基本映像开头。

该映像还具有与容器的基本操作系统的虚拟化有关的基本映像。

您可以从dockerhub检查python:2.7-slim的Dockerfile:

在这种情况下,python:2.7-slim具有以下基本图像:FROM debian:stretch-slim