如果直接使用 jfinal.sh 启动,这时,只能创建容器成功,但就是运行不了。
这是因为docker容器运行必须有一个前台进程
而 jfinal.sh 文件里面执行的默认语句是后台进程
所以修改 jfinal.sh 如下:
function start() { # 运行为后台进程,并在控制台输出信息 # java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} & # 运行为后台进程,并且不在控制台输出信息 # nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 & # 运行为后台进程,并且将信息输出到 output.log 文件 # nohup java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log & # 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务 java -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} }
*注释掉第一个,打开第四个