我正在使用来自 Iron.io 的阿尔卑斯风味。我想在 Docker 映像启动时自动运行一个简单的“闪烁”脚本作为服务。(我希望以此为基础的衍生图像不知道/关心此服务——它只是被“继承”并运行。)我为此使用 S6,效果很好,但想看看是否Alpine 中已经内置的东西可以开箱即用。
我的 Dockerfile:
FROM iron/scala
ADD blinkin /bin/
ADD blink /etc/init.d/
RUN rc-update add blink default
还有我的服务脚本:
#!/sbin/openrc-run
command="/bin/blinkin"
depend()
{
need localmount
}
/bin/blinkin 脚本:
#!/bin/bash
for I in $(seq 1 5);
do
echo "BLINK!"
sleep 1
done
所以我构建了 Docker 镜像并运行它。我看不到任何输出(闪烁!...) 我的脚本在 /bin 中,我可以运行它,并且可以运行。我的眨眼脚本在 /etc/init.d 中并符号链接到 /etc/runlevels/default。所以一切看起来都很好,但似乎没有任何运行。
如果我尝试: 'rc-service blink start' 我看不到“BLINK!” outbut,但一定要明白:
* WARNING: blink is already starting
我究竟做错了什么?