2017-02-08 44 views
0

我有一個package.json文件有該應用端口的單個可變config如何在Docker命令中使用NPM Package Config變量?

的package.json

... 
"config":{ 
    "port": "3000" 
}, 
... 

我也有定義爲運行一個碼頭工人圖像的script。現在,我想在運行docker映像的命令中使用config變量。從here我可以看到如何使用npm配置變量。所以我的腳本變爲:

的package.json(同一個)

.... 
"scripts": { 
    "docker:run": "docker run --rm -it -p $npm_package_config_port:$npm_package_config_port my-app:latest" 
} 
... 

然而,可變port從未插值。相反,我跑的時候得到碼頭工人的錯誤:

Invalid containerPort: $npm_package_config_port

問題

如何通過NPM腳本使用NPM變量在我的搬運工命令?

謝謝!

回答

0

我曾試圖與節點4.7.3和NPM 2.15.11

的package.json

{ 
    "config": { 
    "port": 3000 
    }, 
    "scripts": { 
    "start": "echo $npm_package_config_port" 
    } 
} 

嘗試運行npm start,它應該輸出端口3000 如果它不工作,請嘗試以下package.json

{ 
    "config": { 
    "port": 3000 
    }, 
    "scripts": { 
    "start": "env" 
    } 
} 

這將輸出所有環境變量,您可以檢查端口變量是否可用。

我不確定,但環境變量支持可能已添加新的節點/ npm版本與您正在使用的版本相比。粘貼node -vnpm -v的輸出,以便我們檢查。