实验5:使用Dokcerfile创建自定义镜像
实验5:使用Dokcerfile创建自定义镜像【实验内容】本实验以在Centos7中安装vim+ifconfig+jdk8为例,讲解如何使用Dockerfile自定义创建镜像。【实验目的】1、掌握使用Dockerfile创建自定义镜像的方法【实验步骤】步骤1 自定义镜像centos-java8步骤1 自定义镜像centos-java8要求:Centos7镜像具备vim+ifconfig+jdk8在宿主机/usr/local/目录下新建myfile目录,并下载jdk安装包,命令如下:mkdir /usr/local/myfilecd /usr/local/myfileapt install wgetwget (1) 编写Dockerfile文件在/usr/local/myfile下新建Dockerfile文件:vi Dockerfile内容如下:FROM centos:centos7.4.1708ENV MYPATH /usr/localWORKDIR $MYPATH#安装vim编辑器RUN yum -y install vim#安装ifconfig命令查看网络IPRUN yum -y install net-tools#安装java8及lib库RUN yum -y install glibc.i686RUN mkdir /usr/local/java#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/#配置java环境变量ENV JAVA_HOME /usr/local/java/jdk1.8.0_171ENV JRE_HOME $JAVA_HOME/jreENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATHENV PATH $JAVA_HOME/bin:$PATHCMD echo $MYPATHCMD echo "success-ok"CMD /bin/bashØ FROM:基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板,第一条必须是FROM。Ø RUN:容器构建时需要运行的命令。shell格式:例如:RUN yum -y install vimexec格式:RUN是在 docker build时运行。Ø WORKDIR:指定在创建容器后,终端默认登陆的进来工作目录,一个落脚点。Ø ENV:用来在构建镜像过程中设置环境变量Ø ADD:将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包。Ø CMD:指定容器启动后的要干的事情。Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被 docker run 之后的参数替换。(2) 构建命令格式:docker build -t 新镜像名字:TAG .构建命令如下:docker build -t centos-java8 .注意,上面TAG后面有个空格,有个点.(3) 运行docker run -it centos-java8 /bin/bashifconfigjava -version