我正嘗試創建一個shell腳本來運行碼頭集裝箱,並且掙扎着。我的腳本是這樣的:碼頭:外殼腳本中的無效參考格式
#!/bin/bash
if [ "$1" == "" ]; then
echo "Usage > run.sh IMAGE NAME"
echo
echo "i.e. ./build.sh cd2:0.0.49"
exit
fi
echo $1
docker run -it --rm \
-e NODE_PATH='./src'\
-e NODE_HOST='0.0.0.0'\
-e NODE_ENV='production'\
-e DOCKER=true\
-e PORT='8080'\
-e STAGING=true\
-e SENDGRID_API_KEY='<redacted>'\
-p 8080:8080 $1
當我運行:bash run.sh cd2:0.0.50
我得到:docker: invalid reference format: repository name must be lowercase.
即使我做bash run.sh cd:0.0.50
仍然失敗(echo $1
結果cd2:0.0.50
)。
如果我運行從它的工作原理命令行docker run -it --rm -p 8080:8080 cd2:0.0.50
...
誰能幫助?
我會建議它不正確解析-e標誌並將NOD_PATH變量看作圖像名稱。當你把-e數據拿出來會發生什麼? –
@RamanSailopal嗯,它的工作原理... – user1775718
你只需要重新安排你的碼頭運行命令。我已經發布了一個答案 –