使用rc.local启动依赖networking的服务

使用/etc/rc.local来初始化依赖于networking的服务是否安全?

我使用它来启动一个服务,在启动过程中向networking发出一些请求。 偶尔会发生服务启动失败(不是所有的时间)。

这是我得到的错误:

2016-06-07T12:01:48.724+0000 W NETWORK [ReplicationExecutor] getaddrinfo("my_machine_local_dns") failed: Name or service not known

当它失败时,如果我在机器启动完成后尝试初始化服务,则没有错误。

我正在考虑任何赛车条件。 例如:什么时候失败是因为服务在networking完成加载之前启动或者类似的东西。

我在一个aws vpc里面使用了centos,并且有问题的服务在docker容器里面运行。

您的服务在启动时失败,因为您的实例位于Private子网中。 私有子网中的实例在完全创build之前不能连接互联网。 一旦在私有子网中完全创build实例,则它们开始与NAT实例交谈,然后获得互联网连接。 这就是为什么它在启动时运行失败。

使用/etc/rc.local来初始化依赖于networking的服务是否安全?

/ usr / local /确实是正确的地方,而/ opt是真正的第三方应用程序; “/ opt保留用于安装附加应用程序软件包”。 根据最佳实践去。