在Docker中安装npm之后访问node_modules

时间:2016-03-27 09:29:43

标签: docker npm docker-compose node-modules docker-machine

我在Mac上使用Docker Machine运行Docker。我成功地设置了一些容器并在其中运行了npm install,如here所述。这会在图像内部和容器内安装node_modules,但它们在主机上不可用,即我的IDE抱怨缺少node_modules。

我错过了什么吗?在容器内运行npm install的最佳方法是什么,但是能够在主机上进行开发(带有这些依赖项)?

来自我的docker-compose.yml:

  volumes:
    - /Users/andre/IdeaProjects/app:/home/app
    - /home/app/node_modules

2 个答案:

答案 0 :(得分:2)

由于您使用的是boot2docker,因此只能安装Max主机文件夹/Users/并可从boot2docker主机访问。

这意味着您需要将/home/app/node_modules映射到以/Users开头的Mac主机路径,才能在Mac主机上查看所述模块。

volumes:
    - /Users/andre/IdeaProjects/app:/home/app
    - /Users/andre/node_modules:/home/app/node_modules

答案 1 :(得分:0)

您将无法在主机上访问容器内的node_modules文件夹。不建议将此文件夹绑定到主机文件夹node_modules。原因生成映像时会引起问题。

一种便宜的解决方案是使用名为“ Remote-Containers”的Visual Studio代码扩展。此扩展名将使您可以将Visual Studio代码附加到容器,并在容器文件夹中透明地编辑文件。为此,它将在开发容器内安装内部vscode服务器。有关更多信息,请检查this link

但是,请确保仍在docker-compose.yml文件中创建卷。

我希望它对您有帮助:D!