gosu是什么?
gosu是个用来提升指定账号的权限的工具,作用与sudo命令类似,而docker中使用gosu的起源来自安全问题;
就连docker的官方也在说,不要在容器中使用sudo
命令,因为sudo的执行机制问题,如下所示,我们在启动容器时执行了sudo ps -ef
命令,发现我们命名只执行了一条命令,但是竟然会有2个进程,请注意PID
,真正执行ps -ef
的命令的PID是6
,而不知1
,这回导致当前进程无法接受Unix的SIGNAL.
也就是出于这个原因,在docker中官方推荐我们使用gosu
工具.
gosu的安装
gosu的github地址如下,国内github不是很稳定,所以需要分时段和运气…
https://github.com/tianon/gosu/
如果实在打不开github,也可以直接将其github上的项目clone到本地: