我正在尝试创建一个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
bash run.sh cd2:0.0.50
我得到: docker: invalid reference format: repository name must be lowercase.
docker: invalid reference format: repository name must be lowercase.
即使我这样做bash run.sh cd:0.0.50仍然失败(echo $1导致cd2:0.0.50)。
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 -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参数后面,因此请重新安排您的运行命令。