【问题标题】:Run command to docker container in a script在脚本中运行命令到 docker 容器
【发布时间】:2015-03-30 02:36:21
【问题描述】:

我需要在脚本中运行 docker 容器的命令,我正在尝试:

docker run -it <container> /bin/bash -c "command"

我没有错误但命令没有执行

【问题讨论】:

  • 你能说得更具体点吗?例如docker run -it &lt;container&gt; /bin/bash -c "echo 'Hello'" 工作正常。 在我的情况下是 centos
  • 我需要清除 nginx 容器上的缓存,我运行:docker run -it nginx /bin/bash -c "rm -f /tmp/cache/*/*/*"。如果我在容器内启动这个命令它会工作,这样缓存就不会被清除
  • 那是因为你应该commit you change
  • 不,docker commit nginx 成功,但文件还在
  • 我无法创建新图像,我不能停止服务...我手动完成

标签: docker


【解决方案1】:

我无法创建新图像,我不能停止服务......我手动完成

可以invoke a command in a running container:

docker exec <container_id> rm -f /tmp/cache/*/*/*

【讨论】:

  • 我已经尝试过了,我没有收到任何错误但文件没有被删除
  • @user2385354 你确定rm -f /tmp/cache/*/*/* 是你真正需要的吗?您要删除/tmp/cache 及其所有子文件夹吗?如果是这样,那么rm -rf /tmp/cache 就是您所需要的
  • 您可以删除所有文件,如下find /tmp/cache/ -type f -delete。如果需要,您也可以添加-maxdepth &lt;n&gt;
猜你喜欢
  • 2020-12-31
  • 1970-01-01
  • 2019-06-11
  • 2021-04-08
  • 2019-03-08
  • 1970-01-01
  • 2020-06-24
  • 2017-08-10
  • 1970-01-01
相关资源
最近更新 更多