当前位置: 首页 > 面试题库 >

docker:shell脚本中无效的引用格式

查飞星
2023-03-14
问题内容

我正在尝试创建一个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参数后面,因此请重新安排您的运行命令。



 类似资料:
  • 它将始终返回,但我需要获得。 怎么啦?如何实现这一点?

  • 我在静态处理程序中使用弱引用来避免内存泄漏,然而,有时这个引用会被取消,我不明白为什么。 静态处理程序在存储库类中定义,该存储库类有一个在后台执行操作的方法,接收回调以在操作完成时通知调用方: 处理程序的代码如下所示: 出于某种原因,有时是空的,我试图理解为什么。 活动代码如下所示: 正如您所见,我正在为回调创建一个匿名类,但没有人持有对它的引用。 这就是弱引用无效的原因吗? 谢谢。

  • 问题内容: 我正在构建JSON对象,并使用JQuery ajax将其传递到服务器。 但是,当我的blogBody变量包含代码时,将失败并显示错误消息: 有人可以说错误在哪里以及如何解决? 问题答案: 在JSON中,键必须用双引号()而不是单引号()引起。同样,字符串值必须用双引号而不是单引号引起来。您正在使用单引号。例如,标题文字前后。 因此,至少,您需要交换这些引号,例如:

  • 我有几个谷歌表,我连接和更新他们之间的单元格。现在,我必须使用R1C1或A1类型引用来定义基于特定列的获取或设置单元格。 如果添加了新列,所有这些引用现在都将关闭。 每个工作表的第一行都有列标题作为这些单元格中的值。 我能否以[columnHeader]5等格式引用该列第五行中的单元格? 我曾想过将每个单独的列标题设置为“命名范围”,但我一直无法使用[named range]5引用单元格。 我想我

  • 我升级了jboss 7到10,但有一个奇怪的错误,我不明白为什么 例外情况: 原因:java.sql.SQLException:oracle.jdbc.driver.OraclePreparedStatementWrapper.setLongInternal(OraclePreparedStatement.java:4901)处的oracle.jdbc.driver.OraclePreparedS

  • 问题内容: 我有一排如下所示的php代码: 我想知道如何为文本正确添加字体颜色。如果我这样做: “ red”一词为黑色,编译器将引发错误。 如果我在红色周围使用单引号,则文本根本不会显示。 任何帮助都会很棒。谢谢 问题答案: 您需要转义,因此它不会被解释为字符串的结尾。使用逃脱它: