使用rc.local启动网络相关服务

时间:2016-06-08 14:10:02

标签: linux amazon-web-services networking docker centos

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

我正在使用它来启动一个服务,该服务在启动过程中向网络发出一些请求。偶然发生服务启动失败(并非所有时间)。

这是我得到的错误:

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

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

我正在考虑任何比赛条件。示例:失败的原因是服务在网络加载完成之前启动或类似的情况。

我在aws vpc中使用centos,并且有问题的服务在docker容器内运行。

1 个答案:

答案 0 :(得分:1)

您的服务在启动时失败,因为您的实例位于私有子网中。私有子网中的实例在完全创建之前没有Internet连接。一旦实例在私有子网中完全创建,然后他们就开始与NAT实例通信,然后获得互联网连接。这就是为什么它在启动时运行它会失败。

  

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

/ usr / local /确实是正确的地方,而/ opt实际上是第三方应用程序; " / opt保留用于安装附加应用程序软件包。"按照最佳做法。