Docker映像只包含没有OS的软件
问题描述:
我有一个在RHEL 7服务器上运行的PROD环境。我想使用docker进行部署。我想将所有软件和应用程序打包在Docker镜像中,而不需要基本的操作系统。因为我不想在RHEL之上添加额外的图层。另外,我找不到RHEL的官方基础映像。那可能吗?Docker映像只包含没有OS的软件
我看到一些关于“从零开始”提到的旧帖子,但看起来它在最新版本的Docker - 1.12.5中不起作用。
如果这是不可能的,对此有何建议?
答
Docker也被设计为抽象操作系统的依赖 - 这就是它的目的。除此之外,它还封装了运行时,内存和其他东西,它专门用作chroot的一个更好的变体(可以说超级类固醇上的chroot)。
看起来好像你既不想运行时分离也不需要OS层分离(依赖) - 因此docker对你来说绝对没有意义。
使用docker进行部署并不像使用其他工具那样“简单”或更简单。您可以使用capistrano,或者可能像https://www.habitat.sh/这些实际上不需要将软件捆绑在Docker容器中以“可部署”的软件,它也可以在准系统上使用并使用其自己的打包格式。因此,您拥有最先进的部署解决方案,并且可以使用Docker容器进行升级。
您是否试图将环境中的所有应用程序打包到单个容器中?这在docker中通常是不好的做法,因为他们在每个容器中推荐单个服务。 – zhqiat
要么你编译你的整个应用程序到一个独立的可执行文件与零依赖关系 - 或者 - 你使用docker作为预期的基础操作系统。 – user2105103
我想从操作系统和其他依赖项中分离我的应用程序(目前只有一个应用程序)。我的问题是,我不想让我的基本映像具有“FROM:RHEL”,以在我的主机操作系统之上引入额外的图层。 – user2777473