当前位置: 首页 > 知识库问答 >
问题:

将参数传递到Docker容器

唐星晖
2023-03-14
docker run --rm container1
> Hello World!

docker run --rm container1 Bob
> Hello Bob!
FROM ubuntu:14.04
ENTRYPOINT ["/bin/echo", "Hello"]
CMD ["World!"]

我的输出:

docker run --rm container1
> Hello World!

docker run --rm container1 Bob
> Hello Bob

我有损失“!

共有1个答案

戚俊美
2023-03-14

您的问题可能来自于Ubuntu shell对字符串连接的理解

$ echo "Hello" "I" "am" "a" "developer"
Hello I am a developer

这是因为shell没有串联运算符。所以实际上用字符串给echo提供会使所有串级化的字符串产生一个echo,这并没有真正的黑魔法,而且,据我所知,字符串是按照它们传递给echo的顺序进行串级化的。

现在,您真正想要实现的目标可以通过printf轻松实现,它可以从参数中替换格式:

printf 'Hello %s!' 'Bob'
> Hello Bob!

有关printf替换的更多信息可以在那里找到。

因此,如果您的DockerFile将是:

FROM ubuntu:14.04
ENTRYPOINT ["printf", "Hello %s!"]
CMD ["World"]

你会得到你预期的结果。

$ docker build -t demo .

$ docker run --rm demo 
Hello World!

$ docker run --rm demo Bob
Hello Bob!
 类似资料:
  • 问题内容: 通常,我会使用一个JavaScript文件,该文件需要在网页中定义某些变量。 所以代码是这样的: 但是我想做的是: 我尝试了不同的方法,最好的方法是解析查询字符串,如下所示: 然后搜索我的价值观。 我想知道是否还有另一种方法可以执行此操作而无需构建函数来解析我的字符串。 你们都知道其他方法吗? 问题答案: 如果可能,我建议不要使用全局变量。使用名称空间和OOP将参数传递给对象。 此代码

  • 问题内容: 我想将值传递给javascript。如果可能的话,我该怎么办?如何在后备bean中接收它们? 问题答案:

  • 问题内容: 我们已经设置了一些参数来在Jenkins中执行构建(使用简单的“参数化构建”设置)。作业被设置为Maven测试。有没有办法以编程方式将这些参数传递到我们的Java代码中?我们需要基于通过Jenkins设置的参数来执行某些更新功能。 问题答案: 是的,您可以通过Maven执行将Jenkins参数传递给Java代码,如下所示: 请注意, $ JOB_PARAM_1 将捕获Jenkins上设

  • 问题内容: 我正在使用Go内置的http服务器,并拍拍来响应一些URL: 我需要向该处理函数传递一个额外的参数-一个接口。 如何向处理程序函数发送额外的参数? 问题答案: 通过使用闭包,您应该能够做您想做的事情。 更改为以下内容(未测试): 然后对

  • 我在解一个有很多常数的非线性方程 我创建了一个用于解决以下问题的函数: 然后我想做: 但是正在解包并向函数传递太多参数,因此我得到: TypeError:terminalV()正好接受2个参数(给定6个) 那么,我的问题是,我是否可以通过某种方式将元组传递给调用的函数?

  • 然而,这将失败。和参数从不传递给给定的DockerFile。 示例: 正如在构建阶段中显而易见的那样,它们从未被解析过: 产出: 如何不将其解析到cmd上?