重建应用时删除 Docker 镜像

是否可以在 app.yml 文件或启动器文件中重建应用程序时使用 docker container remove 命令?

docker image prune -a --force

或者

./launcher cleanup

如果您对此有任何想法,请回答此问题。

提前感谢 :grinning:

您可以先运行 ./launcher cleanup app 来移除所有已停止的容器。

您通常在重建时运行此命令,此时最新的容器仍在运行。

您好 @merefield

这些命令对我来说是有效的 ./launcher cleanup app,但我实际上是将这些命令添加到了 app.yml 文件或 launcher 文件中。

我只使用一个命令:./launcher rebuild app。我能将这些命令放在我之前提到的文件中吗?

这从未被推荐过,这让我认为在重新构建期间运行该命令可能无效/不安全。

你可以在 bash 脚本中按顺序运行它们吗?

您可以在 bash 脚本中串行运行它们吗?

我已经创建了一个自定义 bash 脚本来重建应用程序,并在重建完成后删除了 discourse docker 容器中未使用的 docker 镜像

但是,我想知道是否可以将这些命令添加到 app.yml 文件或 launcher 文件中。

我曾在暂存站点上尝试过它们,但在 launcher 文件中遇到一个问题。虽然这些命令对我来说有效,但使用它们会导致所有镜像被删除。
docker image prune -a --force

为了解决这个问题,我在命令中添加了一个过去 24 小时的过滤器:
docker image prune -a --force --filter \"until=240h\" 并且这个解决方案对我来说是有效的。

您试图解决什么问题?您没有足够的磁盘空间来构建容器而不删除旧的容器?这很危险,因为如果出现问题,您将寸步难行。

您无法在启动器中执行此操作,因为这些命令是在容器内执行的。您可以在 shell 脚本中执行此操作,该脚本可以执行此操作并运行启动器。

2 个赞