解决群晖Docker无法停止容器的问题

胡萝虎 

最近在群晖上折腾一些好玩的Docker镜像,其中有一个容器准备停掉然后修改下配置,但是在Docker管理界面点击停止后,却没有任何反应,即使通过SSH连接到群晖上使用docker stop xxx,依然无法停止此容器。不仅如此,后来又发现针对此容器各类docker命令均无效,表现为输入命令后一直hang住,既没有成功也不报失败!

查找原因

通过询问搞运维的朋友,反馈说大概率是这个容器在启动时又在内部启动动了另一个进程,然后退出了初始化进程,导致新启动的进程成了孤儿进程,进而导致docker stop无法执行成功(docker stop会发送kill -9)。但是通过一通操作,譬如ps -ef | awk '{ if ($4==1){print}}'docker top <id>等等,依然无法确定孤儿线程,无奈只能另寻他法。

于是换个思路,既然容器无法关闭,那能不能直接把Docker应用重启呢?

经过一番搜索,还真在群晖系统中发现了端倪!在/var/packeges/Docker/scripts路径下,发现了一个脚本:start-stop-status

群晖启动关闭脚本

看了下这个脚本,发现它的作用就是启动和关闭Docker应用,并且在关闭应用本身的时候也关闭容器,简直太贴心了。

解决问题

接下来就很简单了,首先cd到上面的那个目录

  1. 第一步,现在终端中输入:
./start-stop-status stop

显示stopped,但是并没有真正完成,还需要耐心等待,直到命令执行完。

image-20220801201117563

终端中输出下面的内容时不用担心,继续等待:

image-20220801201406988

直到出现以下内容,表示Docker停止完成。

image-20220801201441797
  1. 第二步,重新启动Docker,在终端中输入:./start-stop-status start
    跟第一步一样,耐心等待脚本执行,直到出现下面内容,表示重启完成。image-20220801201650462

3、经过停止和重启后,原先无法正常关闭的容器,现在就可以正常关闭了。

Recommended Posts

Jellyfin中使用QSV替代VAAPI转码

使用过Jellyfin的应该都会遇到转码的问题,默认情况下都是使用VAAPI进行转码,这种方式兼容性比较好,但是转码的性能比较一般。如果使用的是Intel平台J4125及更早的CPU的话,建议切换为QSV(Intel Quick Sync )进行转码,效率会比VAAPI快很多,并且CPU也会更低。

胡萝虎 

在群晖上使用Docker部署为知笔记服务

虽然市面上有很多各种类型的云笔记应用,像有道云笔记、印象、OneNote,包括Notion,博主都曾尝试使用过。但是随着资料越来越多,特别是一些涉及个人隐私的资料放在云端笔记上,比如密码、账号之类的,让博主越来越感到焦虑😂。博主此前也曾在群晖部署过蚂蚁笔记,但是使用感受实在不咋滴;一段时间以来,只能勉强用群晖自带的弱智Note Station来记录个人资料,真怕哪天自己也搞弱智了。

最近实在受不了Note Station的反人类操作了,不得不再次开启寻找解决方案的征途,幸运的是,Eureka…… 为知笔记的私有化方案终于让我解放啦

胡萝虎 

在群晖中搭建Cloudreve网盘系统

众所周知,某度网盘为了挣钱,各种极限限速,下载限速能把人恶心死。但是,网盘类服务越来越成为人们的刚需,不管是个人生活中的照片,还是工作学习中各类资料,相信很多人都需要使用到网盘进行存储和分享。如果你不想忍受某度的速度,建议有条件的朋友可以试试自己搭建一套网盘系统,本文以Cloudreve为例,在群晖NAS上搭建一套属于自己的私人网盘服务,供读者们参考

胡萝虎 

在群晖上搭建Bitwarden密码管理服务器

管理密码是很多人头痛的事,密码设置简单好记又不太安全,设置复杂又容易忘。为了解决这个难题,市面上出现了不少密码管理工具,帮助人们管理在各种平台、系统、网站、APP上设置的密码,比如1Password、Lastpass、KeePass等,不过绝大多数需要付费才能使用。本着能白嫖就绝不花一个子儿的原则,今天我就来介绍一个不需要花钱的密码管理器——Bitwarden

胡萝虎 

使用Docker一键安装服务端神器Appwrite

Appwrite是一个基于Docker的开源的端到端开发者平台,其容器化的微服务库可应用于网页端,移动端,以及后端。Appwrite 通过视觉化界面极简了从零编写 API 的繁琐过程,在保证软件安全的前提下为开发者创造了一个高效的开发环境。

简单来说,如果你只会前端开发,不懂后端技术,那么这个神器就可以帮你轻松完成后端服务搭建,包括账户、用户、团队、数据库、存储、云函数等等,目前支持各类前端平台,包括Flutter、Vue、Angular、React、iOS和Android等

胡萝虎 

Leave A Comment