运行前由Docker组成的卷挂载

运行前由Docker组成的卷挂载,第1张

运行前由Docker组成的卷挂载

埃里克·丹嫩伯格(ErikDannenberg)的观点是正确的,体积分层意味着我试图做的事情没有任何意义。(如果您想了解更多信息,那么在Docker网站上还有另一个非常好的解释)。如果我想让Docker做,

npminstall
那么我可以这样做:

FROM nodeADD . /usr/src/appWORKDIR /usr/src/appRUN npm install --global gulp-cli  && npm installCMD ["gulp", "watch"]

但是,这不适合我的情况。目标是使用NPM安装项目依赖项,然后运行gulp来构建我的项目。这意味着我需要对项目文件夹具有读写权限, 并且
在容器消失后它必须保留。


卷装入后,我需要做两件事,所以我想出了以下解决方案…

docker / gulp / Dockerfile:

FROM nodeRUN npm install --global gulp-cliADD start-gulp.sh .CMD ./start-gulp.sh

docker / gulp / start-gulp.sh:

#!/usr/bin/env bashuntil cd /usr/src/app && npm installdo    echo "Retrying npm install"donegulp watch

docker-compose.yml:

version: '2'services:  build_tools:    build: docker/gulp    volumes_from:      - build_data:rw  build_data:    image: debian:jessie    volumes:      - .:/usr/src/app

因此,现在容器启动了一个bash脚本,该脚本将不断循环直到可以进入目录 运行

npm install
。这仍然很脆弱,但是可以。:)



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4916236.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-12
下一篇2022-11-12

发表评论

登录后才能评论

评论列表(0条)

    保存