使用:Ubuntu Server 14.04 x64 LXD 2.0.0
我有几个容器(它们全部运行“alpine-edge”),其中运行 lighttpd + mysql。
问题是,每次我重新启动容器时,我都必须手动重新启动这些服务,因为它们不会自动启动。
我需要做什么来修复它?
更新
我暂时使用的解决方法是:
lxc exec alpine-edge service lighttpd start
从父操作系统(在 init 脚本内)。但我相信应该有一种方法可以在容器内自动执行此操作,因此如果我手动重新启动它(容器),则不必每次都执行该命令。
答案1
Alpine Linux 使用 OpenRC 作为其初始化系统。与之交互的基本命令是
rc-update add <service> [runlevel]
添加service
到 init 序列(类似于Ubuntu 15.04 及更高版本中systemd
的systemctl enable <service>
);
rc-update del <service> [runlevel]
在系统初始化期间停止service
启动(类似于systemd
)systemctl disable <service>
;
rc-service <service> [start stop restart]
管理当前正在运行的服务(类似于systemd
,systemctl [start stop restart] <service>
或等效于和 OpenRC/etc/init.d/service [start stop restart]
中的systemd
)。
更多信息可以在我上面链接的 Alpine Wiki 页面上找到,并且 OpenRC 的systemd
翻译备忘单也可供查阅这里。