2017-04-13 22 views
0

我有使用Dockerfile內置應用定義:如何將參數追加到容器命令?

CMD node dist/bin/index.js 

我想「追加」的參數的命令,因爲它是在定義Dockerfile,即我要執行的程序作爲node dist/bin/index.js foo

土地,我能夠通過實現這一點:

docker build --tag test . 
docker run test foo 

我不能使用command,因爲這將覆蓋ENTRYPOINT。我無法使用args,因爲它會覆蓋Dockerfile中定義的cmd。看來,我唯一的選擇是:

cmd: ["node", "dist/bin/index.js", "foo"] 

有沒有辦法附加參數傳遞給容器命令不需要重新定義整個泊塢CMD定義是什麼?

回答

0

我沒有辦法達到你想要的,除了設置cmd,正如你所提到的。

0

如果我誤解了您的問題,請告知我,但如果您只是想將參數傳遞給POD,則可以在入口點腳本中運行命令,並使用傳遞給該命令的容器的環境變量。這應該適用於任何Pod規範(例如作爲部署描述的一部分)。

apiVersion: v1 
kind: Pod 
metadata: 
    name: envar-demo 
    labels: 
    purpose: demonstrate-envars 
spec: 
    containers: 
    - name: envar-demo-container 
    image: gcr.io/google-samples/node-hello:1.0 
    env: 
    - name: DEMO_GREETING 
     value: "Hello from the environment" 

有關詳細看到此doc