防止 Makefile 命令在退出 Docker 容器后打印错误
Prevent Makefile command to print error after exiting a Docker container
考虑以下 Makefile
bash:
docker run -it --rm bash:4.4
当我 运行 Makefile 命令附加到 Docker 容器时,在控制台上创建一个错误并退出,我得到一个“make: *** [bash ] 错误 127":
➜ make bash
docker run -it --rm bash:4.4
bash-4.4# peng
bash: peng: command not found
bash-4.4# exit
exit
make: *** [bash] Error 127
当我在没有 Makefile 上下文的情况下简单地 运行 相同的命令时 - 没有错误。
有什么方法可以防止在退出 Docker 容器后打印此错误?这是一个最小的示例 - 我们想在开发设置中将 Makefile 用于 运行ning Docker 相关任务。
制作将 运行 您在 shell 中提供的食谱。如果 shell 以非 0 错误代码退出,make 认为操作失败并打印该消息。所以,你所要做的就是确保配方不会失败。例如:
bash:
docker run -it --rm bash:4.4 || true
现在,如果 docker 命令以非 0 代码退出,则 || true
将是 运行 并以成功代码退出。
或者,您可以在食谱前加上 -
,这仍然会打印一条消息,但 make 会忽略错误:
bash:
-docker run -it --rm bash:4.4
请注意,如果您这样做,您将无法通知 make 您尝试 运行 的命令没有成功。
考虑以下 Makefile
bash:
docker run -it --rm bash:4.4
当我 运行 Makefile 命令附加到 Docker 容器时,在控制台上创建一个错误并退出,我得到一个“make: *** [bash ] 错误 127":
➜ make bash
docker run -it --rm bash:4.4
bash-4.4# peng
bash: peng: command not found
bash-4.4# exit
exit
make: *** [bash] Error 127
当我在没有 Makefile 上下文的情况下简单地 运行 相同的命令时 - 没有错误。
有什么方法可以防止在退出 Docker 容器后打印此错误?这是一个最小的示例 - 我们想在开发设置中将 Makefile 用于 运行ning Docker 相关任务。
制作将 运行 您在 shell 中提供的食谱。如果 shell 以非 0 错误代码退出,make 认为操作失败并打印该消息。所以,你所要做的就是确保配方不会失败。例如:
bash:
docker run -it --rm bash:4.4 || true
现在,如果 docker 命令以非 0 代码退出,则 || true
将是 运行 并以成功代码退出。
或者,您可以在食谱前加上 -
,这仍然会打印一条消息,但 make 会忽略错误:
bash:
-docker run -it --rm bash:4.4
请注意,如果您这样做,您将无法通知 make 您尝试 运行 的命令没有成功。