在構建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