docker - 当操作系统已经安装了 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 脚本?如果是,它是否真的也依赖于操作系统软件包?
请帮助我理解。
解决方案
是的,您需要在容器中的应用程序中安装 Node 或 Python 或任何您需要的软件。原因是容器应该能够在任何安装了 Docker 的主机上运行,而不管主机是如何设置的或者它安装了什么软件。
一开始确保您Dockerfile
安装了所有需要的软件可能有点乏味,但是当您想在另一台机器上运行容器时它变得非常有用。然后你所要做的就是输入docker run
它应该可以工作!
就像 David 上面所说的,Docker 容器与您的主机是隔离的,它应该被视为完全不同的机器/主机。容器可以与其他容器或有时主机通信的方式是通过网络端口。
容器和主机之间的隔离的一个“例外”是容器有时可以写入主机中的文件,以便即使在容器停止后也能持久保存数据。您可以使用卷或挂载来允许容器写入主机上的文件。
我建议阅读 Docker 概述以获取有关 Docker 的更多信息。
推荐阅读
- python-3.x - 在列表理解中使用错误处理将字符串转换为浮点数
- angular-cli-v7 - 如何使用 Angular 8 构建 bundle.js?
- java - Map(带操作)Stream java 8、nestedList
- javascript - 在 wordpress 中运行笑话测试时如何修复 import {} 意外令牌
- graphics - 如何为小部件边框/阴影添加霓虹发光效果?
- flutter - 如何在颤振中实现聊天气泡形小部件
- react-native - ReactNative如何在键盘打开时保持滚动视图位置
- excel - 计数和求和功能无法正常工作
- javascript - pts.js 'NS_ERROR_NOT_AVAILABLE:' 尝试将图像用于粒子时出错
- android - 如何在android native中每2秒检查一次webview的http url连接