我有一个节点项目,并且我的 docker 映像已经安装了依赖项。
我想使用我的项目文件夹运行 docker-compose ,以便与容器的文件夹同步,这样我就可以编辑本地文件,并且它们应该在容器内更改。
但我想保留图像文件夹内的所有内容node_modules。
我知道这个问题告诉我如何在安装卷时忽略子文件夹,但这会删除已安装的依赖项。
有没有办法挂载我的项目的文件夹但保留容器的子node_modules文件夹?
小智 -1
尝试这个
Dockerfile
...
RUN mkdir -p /app/node_modules
VOLUMES /app/node_modules
VOLUMES /app
EXPOSE XX
...
Run Code Online (Sandbox Code Playgroud)
项目结构
project/
|--node_modules/
|----...
|--docker_node_modules/
|----...
|--docker-compose.yml
|--...
Run Code Online (Sandbox Code Playgroud)
Docker运行命令
docker run --it --rm \
-p xx:xx \
-v /host/path/project/docker_node_modules:/app/node_modules \
-v /host/path/project:/app \
nodeImageExample \
commandToStartYourNodeApp
Run Code Online (Sandbox Code Playgroud)
运行时从您的主机npm install,它将安装在./node_modules (host)
运行时从容器中npm install (container),它将安装在/app/node_modules (container)和./docker_node_modules/ (host)
通过这样做,您可以保存容器中的包,而不会影响您的node_modules
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |