首页 >运维 >Docker >docker基础镜像有哪些

docker基础镜像有哪些

青灯夜游
青灯夜游原创
2021-12-30 17:12:316297浏览

基础镜像有:1、应用镜像(nginx、redis、mongo、mysql、httpd、php、tomcat等);2、编程语言镜像(node、oraclejdk、openjdk、python、golang等);3、空白镜像“scratch”。

docker基础镜像有哪些

本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。

Docker基础镜像是什么

我们通常会以一个镜像为基础,在其上进行定制,这就是基础镜像。

就像运行了一个 nginx 镜像的容器,再进行修改一样。在DockerFile中基础镜像是必须指定的 (FROM 就是指定 基础镜像,因此一个 Dockerfile 中 FROM 是必备的指令,并且必须是第一条指令)

比如构建一个Java应用的镜像,选择一个Oracle JDK的镜像作为基础镜像比选择一个alpine镜像作为基础镜像更方便。

Docker基础镜像都有哪些

在 Docker Hub 上有非常多的高质量的官方镜像,可以在其中寻找一个最符合我们最终目标的镜像为基础镜像进行定制。

应用镜像,如 nginxredismongomysqlhttpdphptomcat 等;

有方便开发、构建、运行各种语言应用的编程语言镜像,如 nodeoraclejdkopenjdkpythonrubygolang 等。

还有更为基础的操作系统镜像,如 ubuntudebiancentosfedoraalpine 等,这些操作系统的软件库为我们提供了更广阔的扩展空间。

除了选择现有镜像为基础镜像外,Docker 还存在一个特殊的镜像,名为 scratch。这个镜像是虚拟的概念,并不实际存在,它表示一个空白的镜像。

如果你在DockerFIle中以 scratch 为基础镜像的话(FROM scratch),意味着你不以任何镜像为基础,接下来所写的指令将作为镜像第一层开始存在。不以任何系统为基础,直接将可执行文件复制进镜像的做法并不罕见,比如 swarmcoreos/etcd。对于 Linux 下静态编译的程序来说,并不需要有操作系统提供运行时支持,所需的一切库都已经在可执行文件里了,因此直接 FROM scratch 会让镜像体积更加小巧。使用 Go 语言 开发的应用很多会使用这种方式来制作镜像,这也是为什么有人认为 Go 是特别适合容器微服务架构的语言的原因之一。

推荐学习:《docker视频教程

以上是docker基础镜像有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn