Docker:为什么在容器中安装linux dist?
我开始了解docker,据我所知Docker容器在容器安装的defualt linux dist上运行 – 在我的情况下,它是一个mac OS x轻量级dist,它带有docker工具箱。
那么,为什么我会看到许多docker文件实际上在容器中安装了一个distrib,这是不是打败了保持轻量级的对象呢?
例如,这里是一个docker文件开始…
FROM debian:jessie
所以这是在基于debian的容器内安装一个docker镜像。
例如,我也看到许多其他人使用ubuntu
这一步不能被绕过,直接在容器中安装的软件使用下面的容器是安装程序的Linux分区?
预先感谢您的澄清
因为,就像物理或虚拟机器一样,build立一个用户级环境将是一个没有分配的痛苦。
这是IMO,docker工人的强大优势之一:为特定的应用select最合适的分配。
一个容器化的应用程序可能会有依赖关系。 要安装这些依赖项,有一个包pipe理器很有帮助。 默认情况下,许多发行版中还包含一些依赖项,这使得容器创build者(应用程序)可以select自己的发行版。
另外,请记住,打包整个发行版并不一定会浪费大量资源:
- Docker镜像被存储为针对共同基线的增量,意味着基于
debian:jessie
两个镜像可以重新使用相同的数据作为基准。 - 分布实际上并不大,因为它们通常是整个系统映像的缩小版本。
如果你真的想创build一个最小的图像,请尝试busybox
。 但是,对于任何真实世界的容器图像,您都会经常发现自己的速度非常快。
- 使用docker-compose创build一个MySQL模式/数据库
- docker – 与MySQL初始化脚本组成
- 在Windows上运行docker镜像的结果是“oci runtime error:exec:”bash“:可执行文件在$ PATH中找不到。
- Docker Swarm on Azure:正确使用docker4x / logger-azure
- 如何在Windows10上启动并注册Hyperledger的chaincode
- docker-compose – 运行两个服务来执行一个PHP脚本
- Dockerfile是否创build一个单一的图像或多个图像?
- PHP的cURL访问无法远程Docker中心/registry
- 基于Docker的开发环境适用于多个项目