应用DockerFile构建镜像
个人理解:DockerFile为创建私人定制的docker镜像,方便多次创建该类型容器使用
mkdir dockerfile
vim Dockerfile
#创建版本信息
FROM ubuntu:latest
MAINTAINER xzj "xzj_73@163.com"
#更新ubuntu环境
RUN apt-get update
#安装jak
RUN mkdir /var/tmp/jdk
ADD jdk-8u181-linux-x64.tar.gz /var/tmp/jdk
# 安装tomcat
RUN mkdir /var/tmp/tomcat
ADD apache-tomcat-8.5.32.tar.gz /var/tmp/tomcat
#设置环境变量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_181
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.32
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#开启内部服务端口
EXPOSE 8080
#启动tomcat服务器
CMD ["./var/tmp/tomcat/apache-tomcat-8.5.32/bin/catalina.sh","run"] && tail -f /var/tmp/tomcat/apache-tomcat-8.5.32/logs/catalina.out
#创建版本信息
FROM ubuntu:latest
MAINTAINER xzj "xzj_73@163.com"
#更新ubuntu环境
RUN apt-get update
RUN yum install -y wget
#安装jak
RUN mkdir /var/tmp/jdk
RUN wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" -P /var/tmp/jdk http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-linux-x64.tar.gz
RUN tar xzf /var/tmp/jdk/jdk-8u172-linux-x64.tar.gz -C /var/tmp/jdk && rm -rf /var/tmp/jdk/jdk-8u172-linux-x64.tar.gz
# 安装tomcat
RUN mkdir /var/tmp/tomcat
RUN wget -P /var/tmp/tomcat http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.8/bin/apache-tomcat-8.5.8.tar.gz
RUN tar xzf /var/tmp/tomcat/apache-tomcat-8.5.8.tar.gz -C /var/tmp/tomcat && rm -rf /var/tmp/tomcat/apache-tomcat-8.5.8.tar.gz
#设置环境变量
ENV JAVA_HOME /var/tmp/jdk/jdk1.8.0_172
ENV CATALINA_HOME /var/tmp/tomcat/apache-tomcat-8.5.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#开启内部服务端口
EXPOSE 8080
#启动tomcat服务器
CMD ["./var/tmp/tomcat/apache-tomcat-8.5.8/bin/catalina.sh","run"] && tail -f /var/tmp/tomcat/apache-tomcat-8.5.8/logs/catalina.out
docker build -t="jak/tomcat" .
docker run -d -t -i -p 8081:8080 redstarofsleep/javaweb
FROM <image>
FROM <image>:<tag>
FROM <image>:<digest>
MAINTAINER <name> <"email">
1. RUN <command>
2. RUN ["executable", "param1", "param2"]
1. ADD <src>... <dest>
2. ADD ["<src>",... "<dest>"]
1. ENV <key> <value>
2. ENV <key>=<value> ...
EXPOSE <port> [<port>...]
1. CMD ["executable","param1","param2"]
2. CMD ["param1","param2"]
3. CMD command param1 param2
原文:https://www.cnblogs.com/seventhree/p/14205895.html