使用 docker exec 执行两个命令

2024-01-05

我正在尝试在 docker exec 中执行两个命令。具体来说,我必须在特定目录中运行命令。 我尝试了这个,但没有成功:

docker exec [id] -c 'cd /var/www/project && composer install'

范围-c未检测到。 我也尝试过这个:

docker exec [id] cd /var/www/project && composer install

但命令composer install之后执行docker exec命令。 我该怎么做?


在你的第一个例子中,你给出的是-c标记为docker exec。这是一个简单的答案:docker exec没有-c flag.

在第二个示例中,您的 shell 在 Docker 看到它之前就将其解析为两个命令。它相当于:

if docker exec [id] cd /var/www/project
then
    composer install
fi

首先,docker exec运行,如果退出0(成功),composer install会尝试运行locally,在 Docker 之外。

您需要做的是将两个命令作为单个参数传递给docker exec使用字符串。然后,它们在已经进入容器之前不会被 shell 解释。

docker exec [id] "cd /var/www/project && composer install"

但是,正如您在评论中指出的那样,这也不起作用。那是因为cd是一个 shell 内置函数,并不单独存在。尝试将其作为初始命令执行将会失败。因此下一步是将其交给 shell 来执行。

docker exec [id] "bash -c 'cd /var/www/project && composer install'"

最后,此时&&已移入一组内部引号,因此我们实际上不需要引号bash命令...如果您愿意,您可以删除它们。

docker exec [id] bash -c 'cd /var/www/project && composer install'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 docker exec 执行两个命令 的相关文章

随机推荐

  • 如何在 ContainerRequestFilter 中检索请求的匹配资源

    我正在使用 JAX RS Jersey 开发 Web 服务 我已经设置了一个容器请求过滤器其目的是验证用户身份 我只需要通过身份验证保护某些路径 其余的路径可供所有人使用 我想通过 ContainerRequestFilter 中的 Ext
  • Dancer 与 Catalyst [Perl Web 框架] [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C++ 中声明可变长度二维数组的正确方法

    我想要一个二维 int 数组arr我可以通过 arr i j 访问 据我了解我可以声明int arr 10 15 得到这样一个数组 然而 就我而言 大小是可变的 据我了解 如果数组的大小没有硬编码 则此语法不起作用 但我使用像这样的变量in
  • Lua加载文件找不到文件

    我有一些带有以下行的 lua 代码 JSON loadfile JSON lua 文件 JSON lua 与该行来自的 lua 代码位于同一目录中 这段代码对我有用了一段时间 然后 在我不更改 lua 源 JSON lua 任何文件的权限或
  • WPF 单击 ListBoxItem 内的控件不会选择 ListBoxItem

    您好 我找不到任何类似的问题 所以我发布了新问题 在下面的代码中 我使用 ListBoxItems 创建 ListBox 控件 每个 ListBoxItems 内部都包含单选按钮 当我单击单选按钮时 它会进行选择 但父 ListBoxIte
  • 访问本地隐藏的全局变量[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中访问隐藏的全局变量 https stackoverflow com questions 618769 how can i access a shadowed global variabl
  • git fork repo 到同一组织

    如何将我的组织中的存储库分叉到same组织 以便我可以定期将前叉与upstream存储库 在这个 StackOverflow 问题中将 github 上的 git 存储库复制 分叉到同一组织中 https stackoverflow com
  • 在Python中从二进制文件中读取整数

    我正在尝试阅读BMP http en wikipedia org wiki BMP file formatPython 中的文件 我知道前两个字节 表示 BMP 公司 接下来的 4 个字节是文件大小 当我执行时 fin open hi bm
  • pandas 使用 fill_method 重新采样:需要知道从哪一行复制数据?

    我正在尝试使用重新采样方法来填补时间序列数据中的空白 但我也想知道哪一行被用来填充丢失的数据 这是我的输入系列 In 28 data Out 28 Date 2002 09 09 233 25 2002 09 11 233 05 2002
  • 奇怪的“僵尸”中的forwardInspiration:+ getArgument:atIndex方法

    这是我的代码的一部分 void viewDidLoad super viewDidLoad CGRect frame UIScreen mainScreen bounds webView UIWebView alloc initWithFr
  • 调用ApplyResources后重新应用动态添加的UserControl的布局

    在 WinForms 应用程序中 Panel用作占位符来显示单个用户控件作为导航策略 每当用户希望导航到给定区域时 相应的用户控件就会添加到面板中 简化 contentPanel Controls Clear userControl Doc
  • div 内的链接不起作用

    我认为这个问题与链接在浮动 div 内不起作用 https stackoverflow com questions 16382431 link not working inside floated div但我还是不明白 我有一个 div 如
  • 如何在Python的类中使用光线并行性?

    我想用射线task方法而不是射线actor方法来并行化类中的方法 原因是后者似乎需要改变类的实例化方式 如图所示here https docs ray io en master getting started with ray 下面是一个玩
  • redux-thunk:暂停组件执行直到 Action Creator 完成

    我已经为这个问题苦苦挣扎了好几个星期了 我终于认输并寻求帮助 因为我显然没有做正确的事情 我有一个使用 redux 和 redux thunk 的 React js 应用程序 我只是想让我的组件容器启动数据加载 但直到数据从获取请求返回后才
  • UIActivityIndi​​catorView 未在 UIAlertView 中显示 - iOS7 [重复]

    这个问题在这里已经有答案了 我需要UIActivityIndicatorView in UIAlertView加载时 但UIActivityIndicatorView当我添加这个时不显示UIActivityIndi catorView 未在
  • 在 C# Windows 应用程序中使用自定义彩色光标 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 SDG 单显示组件 应用程序 为此我需要在单个窗口中使用多个光标 最简单的不同颜色 我发现在 C 中你只能使用黑白光标
  • 使用 Maven 2 和 Glassfish 3 对 EJB 进行单元测试

    我一直在尝试设置我的应用程序 以便我可以整天对其 EJB 进行单元测试 但我似乎无法解决看似非常简单的问题 我在 NetBeans 6 9 中设置了一个标准 Maven Web 应用程序 我已经自动为其中一个 EJB 生成了单元测试 但每当
  • C++实现定时回调函数

    我想用 C 实现一些系统 以便我可以调用一个函数并要求在 X 毫秒内调用另一个函数 像这样的事情 callfunctiontimed 25 funcName 25 是调用该函数之前的毫秒数 我想知道是否需要多线程 然后使用一些延迟函数 除了
  • setVisibility(View.GONE) 不适用于文本视图

    我正在从数据库中检索并显示值 但所有查询都不会返回相同数量的列 因此我必须隐藏不需要的列 爪哇 package com example testback import java io IOException import java util
  • 使用 docker exec 执行两个命令

    我正在尝试在 docker exec 中执行两个命令 具体来说 我必须在特定目录中运行命令 我尝试了这个 但没有成功 docker exec id c cd var www project composer install 范围 c未检测到