docker容器的多应用开机启动

在普通的Ubuntu系统中,只需要将自己需要开机启动的脚本写在 /etc/rc.local 中,即可实现开机自启动。但是在docker中,则完全不是这样,那么应该如何实现开机启动多个应用程序呢?默认地,docker中Ubuntu会启动/bin/bash。


我设置rc.local后,具体内容如下,以供大家参考:

/etc/rc.local

/etc/init.d/ssh start
/root/wsdc_project/auto_start.sh


# set java class path
export JAVA_HOME=/root/wsdc_project/resources/jdk1.7.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

/bin/bash

exit 0

note1: 由于ssh不会自启动,所以我把该命令写在 rc.local 中;

note2: 我启动应用的所有脚本都放置在 /root/wsdc_project_auto_start.sh 中了

note3: 如果是通过docker进去容器的时候,不会自动加载/etc/profile,因此我在其中设置的java环境就得不到执行,因此我将export java环境的语句写在了/etc/rc.local了。

note4: 一定需要注意的是,要将/bin/bash放置于最后,因为通过docker容器进去的时候,是要执行到/bin/bash,然后我们才可以进去,/bin/bash语句之后的只有当我们exit的时候,才会被执行到。

你可能感兴趣的:(服务器)