有时,我将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?
答案 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