docker学习笔记5-Dockerfile
1、Dockerfile的指令
a、FROM #基础镜像、一切从这里开始
b、MAINTAINER #镜像是谁写的,姓名+邮箱
c、RUN #docker镜像构建时需要运行的命令
d、ADD #添加内容,将Dockerfile当前目录下的文件或目录拷贝到镜像中,如果是url或压缩包会自动下载
e、WORKDIR #镜像的工作目录
f、VOLUME #挂载的目录
g、EXPOSE #暴露端口配置
h、CMD #指定这个容器启动的时候要运行的命令,只有最后一个命令会生效,可被替代
i、ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
j、ONBUILD #当构建一个被继承Dockerfile,这时就会运行ONBUILD指令,触发指令
k、COPY #类似ADD,将我们的文件拷贝到镜像中
l、ENV #构建的时候设置环境变量
参考文章:https://www.cnblogs.com/yangzp/p/14230958.html
2、编写自己的centos
a、编写Dockerfile文件
FROM centos
MAINTAINER xifeng<13718460812@163.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "--------end--------"
CMD /bin/bash
b、生成镜像文件
docker build -f dockerfile3 -t xifeng/centos:1.2 .
c、查看镜像生成的步骤
docker history 16d1af93d849
3、编写tomcat的Dockerfile文件
a、
FROM centos
MAINTAINER xifeng<13718460812@163.com>
COPY readme.text /usr/local/readme.text
ADD /giz/apache-tomcat-8.5.66.tar.gz /usr/local
ADD /giz/jdk-8u131-linux-x64.tar.gz /usr/local
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME $MYPATH/jdk1.8.0_131
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME $MYPATH/apache-tomcat-8.5.66
ENV CATALINA_BASH $MYPATH/apache-tomcat-8.5.66
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.5.66/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.66/bin/logs/catalina.out
b、 #生成镜像
docker build -p -v /home/xifeng/build/tomcat/test:/usr/local/apache-tomcat-8.5.66/webapps/test -v /home/xifeng/build/tomcat/logs:/usr/local/apache-tomcat-8.5.66/bin/logs -t xifeng/tomcat:1.0
c、#运行镜像
docker run -d -p 8080:8080 -v /home/xifeng/build/tomcat/test:/usr/local/apache-tomcat-8.5.66/webapps/test -v /home/xifeng/build/tomcat/logs:/usr/local/apache-tomcat-8.5.66/logs --name tomcat01 xifeng/tomcat:1.0