按照https://github.com/SCADA-LTS/Scada-LTS上的建议启动SCADA LTS Docker容器后,使用以下命令:

docker run -it -e DOCKER_HOST_IP= docker-machine ip -p 81:8080 scadalts/scadalts /root/start.sh

...该容器在一段时间内运行良好,然后突然显示“ HTTP状态404”错误,如下所示:

http://[IP]/ScadaBR/


  HTTP状态404-/ ScadaBR /
  
  类型状态报告
  
  讯息/ ScadaBR /
  
  描述所请求的资源不可用。
  Apache Tomcat / 7.0.85


其中[IP]是默认的Docker IP地址和端口,大多数情况下是localhost:81。

知道如何解决吗?

先感谢您!

最佳答案

TL; DR

一段时间后,MySQLservice死亡。必须通过以下方式手动重启它:

docker exec scada service mysql restart
docker exec scada killall tail




详细报告

显示错误时,您可以检查容器上是否正在运行所有服务(在本例中为“ scada”):

>docker exec scada ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 start.sh
  790 ?        01:00:22 java
  791 ?        00:01:27 tail
  858 ?        00:00:00 ps


可以看出,没有MySQL服务正在运行。这就解释了为什么Tomcat运行而SCADA-LTS没有运行的原因。

您可以使用以下命令重新启动容器内的MySQL服务:

docker exec scada service mysql restart


之后,SCADA-LTS仍处于关闭状态,您必须重新启动tomcat,可以通过以下方式完成此操作:

docker exec scada killall tail


一分钟或更短的时间后,所有服务都在运行:

>docker exec scada ps -A
  PID TTY          TIME CMD
    1 ?        00:00:00 start.sh
   43 ?        00:00:00 mysqld_safe
  398 ?        00:00:00 mysqld
  481 ?        00:00:31 java
  482 ?        00:00:00 sleep
  618 ?        00:00:00 ps


现在,SCADA-LTS正在运行!

08-28 08:37