Bootstrap

Dockerfile

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 指定将命令转为一个完整命令执行 

 

 

;