在构建docker镜像时,编写Dockerfile构建镜像时,配置自启动脚本报错,service mc_start.sh does not support chkconfig
添加下面两句到 #!/bin/bash 之后。
# chkconfig: 2345 10 90 # description: myservice ....
注:chkconfig命令对应的目录是/etc/init.d文件夹下,需要将自启动脚本拷贝至该文件目录下。下面附一个Dockerfile文件
其中2345是默认启动级别,级别有0-6共7个级别。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
10是启动优先级,90是停止优先级,优先级范围是0-100,数字越大,优先级越低。
Dockerfile文件
#base image FROM centos # MAINTAINER MAINTAINER lidd95@chinaunicom.cn #RUN 执行以下命令 RUN mkdir /home/docker #相当于cd WORKDIR /home/docker #ADD 文件放在当前目录下,拷过去会自动解压 ADD minecraft_server.1.10.2.jar /home/docker ADD mc_start.sh /home/docker #RUN 执行以下命令 #安装jdk RUN yum -y install java-1.8.0-openjdk RUN java -Xms120m -Xmx160m -jar /home/docker/minecraft_server.1.10.2.jar nogui RUN sed -i 's/eula = false/eula = true/g' ./eula.txt RUN chmod 777 /home/docker/mc_start.sh\ && cp -rf /home/docker/mc_start.sh /etc/profile.d\ && cp -rf /home/docker/mc_start.sh /etc/init.d\ WORKDIR /etc/profile.d RUN chkconfig --add /etc/profile.d/mc_start.sh\ &&chkconfig /etc/profile.d/mc_start.sh on #EXPOSE 映射端口 EXPOSE 25565