【问题标题】:Why do tutorials that dockerize Node.js require you to also install Node.js on the host?为什么 dockerize Node.js 的教程要求您在主机上也安装 Node.js?
【发布时间】:2020-05-31 00:22:27
【问题描述】:

在我的主机上安装 Node.js 和 Vue.js,然后为 Docker 获取 Node/Vue 映像有什么意义?每个 Vue.js 教程都说要先把 Node 和 Vue 安装到主机上,然后再获取 Docker 镜像,这不是多余的吗?

示例

  1. https://morioh.com/p/3021edac7ef1
  2. https://jonathanmh.com/deploying-a-vue-js-single-page-app-including-router-with-docker/
  3. https://mherman.org/blog/dockerizing-a-vue-app/

我使用的是 Windows 10 主机,并且尽可能避免将 Node 和 Vue 安装到 Windows,除非这样做有特别的优势,希望有人能列举出来。否则,也许有人可以确认在主机上安装 Node/Vue 是多余的,并说明它为什么愚蠢和多余。

【问题讨论】:

    标签: node.js docker vue.js docker-compose


    【解决方案1】:

    就像你说的,它是多余的,但更容易。容器是映像的运行实例,是(可能)使用带有说明的 Dockerfile 创建的映像,那么您将如何从容器中执行所有操作?

    您是将应用程序的创建添加到 Dockerfile 还是使用 bash 连接到容器并从那里运行命令?如果您使用 bash 连接,则删除容器后将丢失所有内容。在容器中创建应用程序后,您将如何将其取出?我的意思是您需要编写应用程序的代码。您可以使用 docker 卷来存储数据,但这会变得复杂,具体取决于您正在运行 Docker。例如,在 Mac 上为 Docker 创建了一个虚拟机,因此要找到您需要连接到虚拟机的数据...

    从您的本地计算机上完成所有这些操作并使用 docker 来托管您的应用程序会更容易。

    【讨论】:

    • 我知道您的应用程序的代码(eg,Hello World:shekhargulati.com/2019/01/18/dockerizing-a-vue-js-application)可以放在主机上,但是为什么需要在主机上安装 Node 或 Vue主持人?
    • 所有教程中的第一个命令是npm install -g @vue/cli,这是一个 npm 包。所以,你需要安装节点。如果您已经创建了您的应用程序并对其进行了控制,则您不需要在主机中使用 nodevue。只需从容器内运行应用程序即可。
    • 我想在主机上编写应用程序,但使用 docker 容器来运行应用程序,包括应用程序的开发。我仍然不明白为什么我需要在主机上使用 node 或 vue。即使在开发过程中,我也不能使用 docker 容器来运行应用程序吗?
    • 是的,你可以。只需包装您的代码,将其放入容器中并从中运行所有内容。
    • “包装我的代码”是什么意思?这样做有缺点吗?我只是想知道为什么所有教程都指示在​​主机上安装 Node/Vue?
    猜你喜欢
    • 2019-12-23
    • 1970-01-01
    • 2019-07-31
    • 2021-01-24
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多