简单易懂!一步步教你如何制作Docker镜像
目录
前言
一、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)
2.vi命令编辑Dockerfile ,粘贴下面内容
FROM centos
MAINTAINER zengLingYao
RUN mkdir /usr/local/java
ADD jdk-8u211-linux-x64.tar.gz /usr/local/java/
RUN ln -s /usr/local/java/jdk1.8.0_211 /usr/local/java/jdk
ENV JAVA_HOME /usr/local/java/jdk
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH ${JAVA_HOME}/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位于同一目录下
推荐阅读
-
树莓派打造自家私人云盘实战教程(第二部分):Docker+NextCloud+Nginx 教你一步步建站并上手" - 利用 Docker 架设简易高效的环境部署指南 - Docker 在树莓派上的安装入门,一看就会 - 参考链接:树莓派Docker安装指南 - 探索免费私有云盘方案:NextCloud 与 OwnCloud 同源平台解析 无需文件加密功能的话,NextCloud 是我们的首选。它与 SeaFile 相比,更加符合需求。 对于照片和视频备份同步,Daemon Sync 显示出了出色的表现,安装过程简单易懂,不妨一试身手。 现在,让我们一起步入正文,动手实践搭建属于自己的私人云盘吧!
-
简单易懂!一步步教你上手 Matplotlib 图表制作教程
-
简单易懂!一步步教你如何在微软 Excel 中玩转数学计算
-
简单易懂!一步步教你如何制作Docker镜像
-
简单易懂!一步步教你如何使用VectorCAST
-
三种简单易懂的方法教你如何使用51单片机制作流水灯效果,一文详解数组流水灯
-
简单易懂!一步步教你如何建立专属服务器