Dockerfile編寫,以及設置一個自啟動腳本


FROM:指定基礎鏡像,必須為第一個命令

MAINTAINER: 維護者信息

RUN:構建鏡像時執行的命令

ADD:將本地文件添加到容器中,tar類型文件會自動解壓(網絡壓縮資源不會被解壓),可以訪問網絡資源,類似wget

COPY:功能類似ADD,但是是不會自動解壓文件,也不能訪問網絡資源

CMD:構建容器后調用,也就是在容器啟動時才進行調用。

ENTRYPOINT:配置容器,使其可執行化。配合CMD可省去"application",只使用參數。

LABEL:用於為鏡像添加元數據

ENV:設置環境變量

EXPOSE:指定於外界交互的端口

WORKDIR:工作目錄,類似於cd命令

 

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
復制代碼

 

mc_start.sh

復制代碼
#!/bin/bash
# chkconfig: 2345 10 90 
# description: mc_start ....
#啟動服務器
echo "服務啟動中..."
sed -i 's/false/true/g' ./eula.txt
java -Xms120m -Xmx160m -jar /home/docker/minecraft_server.1.10.2.jar nogui
echo "服務啟動成功..."
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM