首页 > 解决方案 > 当操作系统已经安装了 python/node.js 时,我还需要通过 docker 容器文件安装 Node.js 或 Python 吗?

问题描述

我正在尝试为我正在创建的 Web 应用程序创建 docker 文件(图像文件)。基本上,Web 应用程序是用 Node.js 和 Vue.js 编写的。为了为应用程序创建一个 docker 容器,我从 vue.js 获得了用于创建 docker 文件的文档。给出的步骤是工作文件。我只是想澄清我对这部分的理解。

链接:- https://cli.vuejs.org/guide/deployment.html#docker-nginx

如果必要的包 Node/Python 安装在操作系统中(不在容器中),容器是否能够获取 npm 脚本并执行 python 脚本?如果是,它是否真的也依赖于操作系统软件包?

请帮助我理解。

标签: dockermicroservicesvirtualizationdocker-container

解决方案


是的,您需要在容器中的应用程序中安装 Node 或 Python 或任何您需要的软件。原因是容器应该能够在任何安装了 Docker 的主机上运行,​​而不管主机是如何设置的或者它安装了什么软件。

一开始确保您Dockerfile安装了所有需要的软件可能有点乏味,但是当您想在另一台机器上运行容器时它变得非常有用。然后你所要做的就是输入docker run它应该可以工作!

就像 David 上面所说的,Docker 容器与您的主机是隔离的,它应该被视为完全不同的机器/主机。容器可以与其他容器或有时主机通信的方式是通过网络端口。

容器和主机之间的隔离的一个“例外”是容器有时可以写入主机中的文件,以便即使在容器停止后也能持久保存数据。您可以使用卷或挂载来允许容器写入主机上的文件。

我建议阅读 Docker 概述以获取有关 Docker 的更多信息。


推荐阅读