我已经开发了一个小的“概念证明” ApostropheCMS应用程序。应用程序在node app.js
下运行良好。我尝试在此tutorial之后使用 Oracle VM VirtualBox 在Windows 7上使用 Docker 在Windows上进行构建和部署。
我能够部署 mongo映像。我可以使用默认的Dockerfile构建我的应用程序映像。当我尝试运行应用程序时,与mongo映像链接的docker映像出现以下错误:
$ docker run --link = ato-home-db:mongodb -p 3000:3000 ato-home-webapp
ato-home-webapp@2.0.0 start / app节点app.js fs.js:1014返回 binding.symlink(preprocessSymlinkDestination(target,type,path), ^错误:EEXIST:文件已经存在,符号链接'/ app / node_modules / apostrophe / lib / modules / apostrophe-assets / public'-> '/ app / public / modules /撇号资产' 在Object.fs.symlinkSync(fs.js:1014:18) 在Object.self.linkAssetFolderOnUnix(/app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:646:10) 在Object.self.linkAssetFolder(/app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:612:14) 在/app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:578:14 在/app/node_modules/@sailshq/lodash/lib/index.js:3253:15 在baseForOwn(/app/node_modules/@sailshq/lodash/lib/index.js:2223:14) 在/app/node_modules/@sailshq/lodash/lib/index.js:3223:18 在功能。 (/app/node_modules/@sailshq/lodash/lib/index.js:3526:13) 在self.symlinkModules(/app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:574:9) 在/app/node_modules/async/lib/async.js:718:13 在迭代(/app/node_modules/async/lib/async.js:262:13) 在async.forEachOfSeries.async.eachOfSeries(/app/node_modules/async/lib/async.js:281:9) 在_parallel(/app/node_modules/async/lib/async.js:717:9) 在Object.async.series(/app/node_modules/async/lib/async.js:739:9) 在Object.self.afterInit(/app/node_modules/apostrophe/lib/modules/apostrophe-assets/index.js:521:20) 在调用时(/app/node_modules/apostrophe/index.js:423:23)npm ERR!代码ELIFECYCLE npm ERR! errno 1 npm错误! ato-home-webapp@2.0.0开始:
node app.js
npm错误!退出状态1 npm ERR! npm ERR!失败于 ato-home-webapp@2.0.0启动脚本。 npm ERR!这可能不是 NPM的问题。上面可能还有其他日志记录输出。npm错误!有关此运行的完整日志,请参见:npm ERR!
/root/.npm/_logs/2018-08-07T00_15_24_396Z-debug.log
我希望为 ApostropheCMS教程或“操作方法” 提供可能的解决方案或建议,以克服这一障碍。
我是ApostropheCMS和Docker的新手。任何投入将不胜感激。如果有帮助,我可以提供其他信息。
答案 0 :(得分:0)
我将假设您在Windows(到Linux容器)上构建映像。请尝试在Unix环境中重建映像。