当前位置: 首页 > 知识库问答 >
问题:

docker - github action 进入终端不知道怎么退出,一直到超时后失败?

南门向荣
2024-01-15

github action失败

        name: Load and run Docker image on the server        uses: appleboy/ssh-action@master  # 使用社区 action 来通过 SSH 连接服务器并执行命令        with:          host: ${{ secrets.DEPLOY_HOST }}          username: ${{ secrets.DEPLOY_USER }}          key: ${{ secrets.DEPLOY_KEY }}          script: |            docker stop blog-server #停止老镜像            docker rm blog-server             docker load < /tmp/lxy-blog-server.tar.gz  # 加载 Docker 镜像            docker run --name blog-server --net=host server-prod # 使用 Docker Compose 启动服务            exit

就是我通过github action把最新的代码生成的docker镜像推送到服务器上
再通过script部分的命令让新镜像运行起来
这里会出现github action 无法结束的问题
一直到超时直接失败
虽然失败并没有影响我的功能,但是每次action失败也不好看

每次会得到这样一个结果
2024/01/07 10:58:57 Run Command Timeout

应该是我的退出方式不对,但不知道怎么修改

我尝试过的方式就是最后一行代码加上了exit
这个并没有效果

共有1个答案

陶胤
2024-01-15

你可以使用-d参数后台运行,如果想要查看启动日志,使用sleep int等待容器启动完成,然后执行docker logs CONTAINER_NAME

 类似资料:
  • 问题内容: 我是shell脚本方面的菜鸟。如果命令失败,我想打印一条消息并退出脚本。我试过了: 但它不起作用。它会继续执行脚本中此行之后的指令。我正在使用Ubuntu和bash。 问题答案: 尝试: 四个变化: 更改为 使用代替 在和之后介绍 之前和之后的空格 既然你要打印的消息,只有当命令失败(非零值退出)退出你需要一个不是。 将在成功时运行(退出值)。在哪里 将在失败(退出值非零)时运行。 使

  • 问题内容: 我有一个在1G RAM主机中运行的Docker容器(也有在同一主机中运行的其他容器)。该Docker容器中的应用程序将解码一些图像,这可能会消耗大量内存。 该容器会不时退出。我怀疑这是由于内存不足,但不是很确定。我需要找到根本原因的方法。那么,有什么办法知道这个集装箱的死亡发生了什么? 问题答案: 其他人提到查看应用程序的输出。这永远是我要检查的第一件事。 接下来,您可以运行查看状态的

  • 问题内容: 诸如vi或man的程序或任何其他程序如何用该程序自己的内容替换终端内容,然后在退出这些程序后将其带回旧的终端内容? 问题答案: Vi切换到终端支持的备用屏幕缓冲区。这是通过使用转义序列来实现的。有关完整的详细信息,请参见此链接。 这些的termcap条目为“ ti”输入,而为“ te”退出全屏模式。 正如@Celada在下面指出的那样,对xterm转义序列进行硬编码不是一个好主意,因为

  • 问题内容: 如何防止gnome-terminal退出给定命令后退出? 我正在从cronjob调用gnome-terminal,以创建用户可访问的终端。最初为终端提供了要运行的特定程序。例如 这很好,除了退出“ myprog”时,gnome-terminal也是如此。我如何保持它运行,而只是回到终端提示符? 问题答案: 尝试这个: