手把手带你构建dockers镜像

目录

前言

一、Dockerfile文件

二、跟做先构建个简单的镜像感受一下

1. 将需要的用到的资源(jdk-8u211-linux-x64.tar.gz)准备好,创建一个文本文件名称为Dockerfile(命令:touch Dockerfile)

 2.vi命令编辑Dockerfile ,粘贴下面内容

3.使用 Dockerfile 构建名为my-jdk:8的镜像(在Dockerfile所在目录执行)

 4.镜像的导出与导入

三、Dockerfile文件指令

FROM

MAINTAINER

RUN

COPY

ADD

CMD

ENV

VOLUME

四、注意事项


前言

如果您对dockers基础不熟悉,可以先跟着(docker安装及应用)这篇文章。

一、Dockerfile文件

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

 

二、跟做先构建个简单的镜像感受一下

1. 将需要的用到的资源(jdk-8u211-linux-x64.tar.gz)准备好,创建一个文本文件名称为Dockerfile(命令:touch Dockerfile)

手把手带你构建dockers镜像

 2.vi命令编辑Dockerfile ,粘贴下面内容

FROM centos:7
ADD jdk-8u211-linux-x64.tar.gz /user/local/docker
ENV JAVA_HOME=/user/local/docker/jdk1.8.0_211PATH=/user/local/docker/jdk1.8.0_211/bin:$PATH

 

3.使用 Dockerfile 构建名为my-jdk:8的镜像(在Dockerfile所在目录执行)

docker build -t my-jdk:8 .

 生成镜像后我们可以通过docker images命令看到自己构建的镜像

 4.镜像的导出与导入

导出命令:docker save  my-jdk:8 | gzip > my-jdk:8.tar.gz

导入命令:docker load < my-jdk:8.tar.gz

三、Dockerfile文件指令

FROM

FROM用于指定基础镜像,且必须为第一个命令

例1:FROM centos              最新版本

例2:FROM centos:7        指定版本

MAINTAINER

Dockerfile作者信息,一般写的是联系方式

例:MAINTAINER   3198215426@qq.com

RUN

用于执行后面跟着Linux系统命令的命令

例:RUN yum -y install wget

COPY

从上下文目录中复制文件或者目录到容器里指定的绝对路径

例: COPY test /user/local/docker

ADD

对压缩文件进行解压缩;将数据移动到指定的目录

例: ADD jdk-8u211-linux-x64.tar.gz /user/local/docker

CMD

在docker run 时运行

例:CMD ["/bin/echo", "this is a echo test"]

ENV

环境变量

例1:ENV <key> <value>

例2:ENV <key1>=<value1> <key2>=<value2>...

VOLUME

定义匿名数据卷。在启动容器时忘记挂载数据卷,会自动挂载到匿名卷。

例1:VOLUME ["/data",...]

例2:VOLUME /data


 

四、注意事项

Dockerfile 的指令每执行一次都会在 docker 上新建一层。

FROM centos
RUN yum -y install wget
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xvf redis.tar.gz


#会建3层镜像应改为下面写法只建1层


FROM centos
RUN yum -y install wget \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
    && tar -xvf redis.tar.gz

使用ADD/COPY命令,资源文件必须和Dockfile位于同一目录下

 

上一篇:【ZYNQ搭建系统】第3篇:如何有效修改根文件系统


下一篇:linux中编译自己的nginx服务器