centos:centos7Docker运行MCSmanager,启动实例失败,终端可以正常启动!
MCSManager Version 9.9.0 System Info/Version Centos 7.9 使用docker pull centos:centos7之后,在docker的centos7中部署MSCmanager,Java jdk20 ,以及一个server服务 Node Version node: v14.19.1 npm: v6.14.16 Step
在centos7.9中,使用docker pull centos:centos7,并使用docker运行centos:centos7之后,部署MCSmanager,安装java JDK20环境以及上传一个server端,出现如下情况
使用实例控制台启动,出现报错无法启动,
文件夹位置:/home/1.5.4;java 输出正常,启动命令为常规java -jar server.jar nogui
实例中无法启动,但是在自带的控制台中可以启动
使用java -jar server.jar nogui命令启动,如下:
使用控制台可以正常启动,正常进入游戏
docker保存的镜像文件如链接所示:(阿里云盘快传,只有一天的时间)
https://www.aliyundrive.com/t/f9wOT2m4pm0AI8tyZLuK
使用指南:
docker导入镜像后,使用特权模式运行镜像,命令为:
docker run -itd --privileged -p 25565:25565 -p 23333:23333 -p 24444:24444 MCSmanager /usr/sbin/init,其中“MCSmanager”为您导入的镜像命名,请使用docker images查看
运行镜像后,使用docker exec -it 55ccc1ddf35c /bin/bash,其中“55ccc1ddf35”c为您所运行的镜像的CONTAINER ID,请使用docker ps -a 查询
进入bash后使用systemctl start mcsm-{daemon,web}.service启动MCSmanager,随后可以使用您的服务器ip:23333访问,并重复进行上述操作,验证是否有BUG存在!
其中 MCSmanager的面板账户密码为Feng,Sf261413. 请复制粘贴注意小数点!
尝试使用指定java路径
你的java的环境变量是怎么添加的?看起来像是MCSM没读到,运行bash后从用户配置里读到了。
添加在/root/.bash中
/root/.bashrc
使用java路径运行成功,应该是系统MCSmanager不识别使用/root/.bashrc所设置的环境变量,但是在Docker中,自启动Docker 不进行source /etc/profile一下 没法使得Docker容器中的java环境变量生效 应该是Docker的问题了
/root/.bashrc
那就是$PATH环境变量继承的问题了。MCSM安装脚本走的systemd,启动的daemon不会加载.bashrc。但是运行bash时会去自动加载。 个人建议,启动参数加上路径吧,或者改.service,$PATH加一段也可以。或者改你java加的环境变量的位置。
另外,如果用了Docker,你那应该往容器的镜像加java。