Dockerfile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。
官网:链接
构建三步骤
- 编写Dockerfile文件
- 构建镜像:docker build
- 用镜像运行容器实例:docker run
一、常用的保留字
二、使用案例
要求:Centos7镜像具备 vim+ifconfig+jdk8
-
创建路径 /myfire,并上传压缩包 jdk-8u341-linux-x64.tar.gz
-
编写文件:Dockerfire
FROM centos MAINTAINER lzwei<Lizewei2105@163.com> ENV MYPATH /usr/local WORKDIR $MYPATH #修改yum下载源:CentOs Linux 8 从 2021.10.31 号后已经停止维护,所以之后更新镜像需要通过 vault.centos.org来获取更新。 RUN cd /etc/yum.repos.d/ RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* #安装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-8u341-linux-x64.tar.gz /usr/local/java/ #配置java环境变量 ENV JAVA_HOME /usr/local/java/jdk1.8.0_341 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
-
构建镜像
docker build -t centosjava8:1.5 .
注意:centosjava8:1.5 后面有个点
-
运行镜像