第二章 使用Dockerfile制作Docker镜像

Dockerfile最重要的常用命令

命令

作用

FROM image_name:tag

定义了使用哪个基础镜像启动构建流程

MAINTAINER user_name

声明镜像的创建者

ENV key value

设置环境变量 (可以写多条)

RUN command

是Dockerfile的核心部分(可以写多条)

ADD source_dir/file dest_dir/file

将宿主机的文件复制到容器内,如果是一个压缩文件,

将会在复制后自动解压

COPY source_dir/file dest_dir/file

和ADD相似,但是如果有压缩文件并不能解压

WORKDIR path_dir

设置工作目录

EXPOSE port1 prot2

用来指定端口,使容器内的应用可以通过端口和外界交

CMD argument

在构建容器时使用,会被docker run 后的argument覆

ENTRYPOINT argument

和CMD相似,但是并不会被docker run指定的参数覆盖

VOLUME

将本地文件夹或者其他容器的文件挂载到容器中

 

.演示使用脚本创建JDK8镜像

首先要去Oracle官方网站上下载一个用在linux上的jdk8,比如说:

然后开始创建镜像的操作

第一步:创建目录

mkdir –p /usr/local/dockerjdk8       放在哪,起什么名字无所谓,您自己记住就行

第二步:将下载下来的jdk8上传到linux服务其中

第三步:编写DockerFile脚本文件

vi Dockerfile

 

 

 

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER ITCAST
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk‐8u171‐linux‐x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
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

 

执行命令构建镜像

docker    build -t=’jdk1.8’ .

注意:

在此空格 + . 千万不能省略 代表在当前目录下寻找

-t =’’  里面的东西可以瞎写,就是制作好镜像后的镜像镜像名称

 

查看镜像是否建成

docker images

 

创建容器

docker run -di  --name=jdk1.8 jdk1.8/bin/bash

 

 

 

到这儿,自己做的镜像完美实现,主要难点要点在于编写dockerfile脚本,我在这卡住了好长时间!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值