繁体   English   中英

docker:shell脚本中的参考格式无效

[英]docker: invalid reference format in shell script

我正在尝试创建一个shell脚本来运行一个docker容器并且正在挣扎。 我的脚本是这样的:

#!/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它可以运行...

有人可以帮忙吗?

docker run \
-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 --rm -it $1

图像名称应位于-it参数之后,因此请重新排列运行命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM