我試圖建立一個具有多爲基於Aurelia路上的JavaScript項目所需的工具的一個碼頭工人容器中運行奧裏利亞CLI。我多克社區版版本17.03.1-CE-MAC5(16048)及以下Dockerfile:錯誤泊塢窗集裝箱
FROM ubuntu:yakkety
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -q && apt-get install -qy \
apt-utils \
git \
chromium-browser \
xvfb \
nodejs \
npm
RUN ln -s /usr/bin/nodejs /usr/bin/node
RUN npm install -g aurelia-cli
WORKDIR /workdir
EXPOSE 9000
我運行命令docker build -t maldrake/aurelia:v1 .
打造的容器,然後
docker run --rm -it -P -v `pwd`:/workdir maldrake/aurelia:v1 /bin/bash
殼成碼頭集裝箱。
此時,當我運行au
時,我希望看到Aurelia CLI工具在不帶參數運行時的常用輸出,可用命令列表及其功能。相反,我得到以下的輸出:
[email protected]:/workdir# au
/usr/local/lib/node_modules/aurelia-cli/lib/resolve/index.js:1
(function (exports, require, module, __filename, __dirname) { let core = require('./lib/core');
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/aurelia-cli/bin/aurelia-cli.js:3:17)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
[email protected]:/workdir#
的JavaScript錯誤本身是很容易理解,如果我在那個index.js文件去看看,這是真的,有沒有'use strict'
頂部。我可以將其添加到個人文件,並得到奧裏利亞CLI運行,遠遠不足以創造一個新的項目,但後來當我嘗試使用其他CLI命令,像au test
,我遇到了與其他文件相同的錯誤,唐頂部沒有use strict
。我應該如何以不同的方式配置我的環境,以便CLI在安裝時正常工作?
節點和NPM版本如下:
[email protected]:/workdir# node -v
v4.2.6
[email protected]:/workdir# npm -v
3.5.2
我已經通過堆棧溢出搜查,更普遍的,與谷歌並沒有發現同樣的問題的說明。這可能意味着我失去了一些明顯的面部表情。
閱讀泊塢窗的最佳實踐...您可以在一個運行安裝許多包 –
是啊,謝謝!可能很明顯,我對使用Docker相對來說比較陌生......我相應地編輯了Dockerfile,並更新了上面的問題。它不會改變我看到的結果,但它確實可以優化構建容器。 –
爲什麼不在碼頭中心搜索現有的aurelia圖像?爲什麼你需要一個容器中的鉻瀏覽器? –