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

Docker命令行中的转义符

顾高扬
2023-03-14
问题内容

我有一个Docker映像,我想在其中运行以下命令:

  1. echo "1" > /tmp/service.cfg
  2. /bin/bash

我如何分组并转义此命令以在docker容器中运行它:

docker run -i -t debian/latest echo "1" > /tmp/service.cfg && /bin/bash

上面的命令不起作用,因为它不会先在所需的文件中回显,然后再将我的手放在外壳中…


问题答案:

我找到了解决方案,我需要sh使用如下-c标志运行命令:

docker run -i -t debian:latest sh -c 'echo "1" > /tmp/service.cfg && cat /tmp/service.cfg'

这将按预期返回1 …



 类似资料:
  • 我有一个执行系统命令的功能: 该命令通过: 预期产出: 实际产量:

  • 目前,我正在运行一个3节点的Rabbitmq集群,使用下面的docker-comple文件。 这是Dockerfile包含的用于启动容器并形成集群的脚本。 我需要将docker compose转换为docker run命令,并以集群格式启动所有三个容器。我面临的问题是,我需要一个单独的run命令,该命令可以用于逐个启动所有容器(仅按名称区分),并形成一个集群。我如何传递命令,如--link和一些特

  • 问题内容: PHP必须正确地转义任何可能引起问题的字符。为BASH模仿此功能的最佳方法是什么? 无论如何,有使用bash做准备好的mysql语句吗?这似乎是最好的方法。 我的大多数变量都不会(不应)具有特殊字符,但是我为用户提供了完全自由的密码密码。它可能包含’和’之类的字符。 我可能正在执行多个SQL语句,所以我想创建一个包含参数并随后运行该语句的脚本。这是我到目前为止的内容: doSQL.sh

  • 有没有一种方法可以传递变量让我们假设在本例中,我想使用将动物列表传递到entrypoint.sh文件中 但我希望能够在运行容器时传递不同的动物,例如 运行docker run命令时如何传递参数? 目标是在使用docker run命令时使用该变量,并将它们插入到entrypoint.sh文件中 现在我在我的DockerFile中进行了硬编码。但是我希望能够在运行docker run命令时做到这一点,

  • 例子 #include <stdio.h> int main (void) { int i, sum; for (i = 1, sum = 0; i <= 10; i++) { sum += i; #ifdef DEBUG printf ("sum += %d is %d\n", i, sum); #endif } print