我在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
答案 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!