1.简介
Dockerfile reference | Docker Docs
2.Dockerfile内容的基础知识
3.Docker执行Dockerfile的大致流程
4.DockerFile常用保留字指令
1. FORM MAINTAINER RUN
1.RUN
1.shell格式
表示 比如 要在 centos 里 安装
本来要执行
yum -y install vim
我们在Dockerfile可以写
RUN yum -y install vim
2.exec格式
就是在 build 的时候运行
2.EXPOSE
3.WORKDIR
4. USER
5.ENV
6. VOLUME
7. ADD 
8.COPY
9.CMD
这个 /bin/bash 相当于 把 catalina.sh run 覆盖了
10.ENTRYPOINT
5.案例 centos镜像 装 Java8
创建一个 Dockerfile文件
FROM centos:7
MAINTAINER jmj
ENV MYPATH /usr/local
WORKDIR $MYPATH
#安装vim编辑器
#RUN yum -y install vim
#安装ifconfig命令查看网络IP
#RUN yum -y install net-tools
#安装java8及lib库
#RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#ADD是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u431-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_431
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 80
CMD echo $MYPATH
CMD echo "success-ok"
CMD /bin/bash
在同路径下放入
jdk-8u431-linux-x64.tar.gz
然后执行
docker build -t centosjava8:1.5 .
构建完成
!!!!!!!!一定要注意如果你使用的是阿里云的话,因为daockefile中使用的是原生的镜像源,所有要写一段脚本把原生的镜像源修改一下,或者你进入下载的centos镜像中修改
6.虚悬镜像
[root@localhost myfile2]# vim Dcokerfile
[root@localhost myfile2]# cat Dcokerfile
form ubuntu
CMD echo 'action is success'
查看本地虚悬镜像
删除虚悬镜像
docker image prune
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak RUN echo "deb..." >> /etc/apt/sources.list国内源
7.dockerfile发布微服务部署
bash -c 指定将命令转为一个完整命令执行