Dockerfile

1、Dockerfile介绍

Dockerfile是用来构建docker镜像文件的命令参数脚本。
构建步骤:

  1. 编写一个Dockerfile文件
  2. 执行docker build构建成为一个镜像
  3. docker run 运行镜像为容器
  4. docker push 发布镜像(Docker Hub,阿里云镜像仓库)

先来看以下官方是怎么做的,随便打开一个:
在这里插入图片描述
比如点击一个centos7,跳转过来其实就是一个Dockerfile:
在这里插入图片描述
很多官方镜像都是基础包,很多功能都没有,通常自己搭建添加。官方既然可以制作镜像,我们也可以。

2、Dockerfile构建过程

在这里插入图片描述
从以上两个图:
1、每个保留关键字(指令)都是大写
2、从上往下执行指令
3、每一个指令都会创建提交一个新的镜像层

dockerfile是面向开发的,以后要发布项目,都要做镜像,就需要编写dockerfile文件。Dockerfile逐渐成为企业交付标准,不是像以前一样发布jar或war包,而已哟啊将jar或war和环境一起做成镜像。

Dockerfile:构建文件,定义了一切的步骤,像源代码
Docker image:通过Dockerfile构建生成的镜像文件,最终发布和运行的产品(以前:jar/war,以后:docker image)
Docker容器:镜像运行起来提供服务的事例

3、Dockerfile指令

在这里插入图片描述

FROM 		#基础镜像,镜像的一切从这里开始构建
MAINTAINER  #镜像的创建者,一般格式:姓名+邮箱
ADD			#添加内容,会自动解压。像第一步FROM以centos为基础,可以添加tomcat压缩包,这样这个镜像就包含了tomcat服务
WORKDIR		#镜像的工作目录
VOLUME		#挂载目录,如果镜像没设置,就需要在启动镜像的时候使用-v命令指定
EXPOSE      #暴露端口配置,也是一样,如果镜像没配置,就需要在启动镜像的时候使用-p指定
RUN			#镜像构建的时候需要运行的命令
COPY		#类似ADD,将文件拷贝到镜像中
CMD			#指定容器启动的时候需要运行的命令,比如CMD "---end---"  输出结束信息。只有最后一个会生效
ENTRYPOINT  #指定容器启动的时候需要运行的命令,可以追加命令
ENV			#构建的时候配置环境变量

4、实战测试

先启动一个官方的centos:
在这里插入图片描述
可以看到,官方的镜像很多命令都是没有的,比如上图的vim和ifonfig。
1.编写Dockerfile:
在这里插入图片描述

FROM centos
MAINTAINER alinx<78787787787@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "---end---"
CMD /bin/bash

在这里插入图片描述
2.通过编写的文件构建镜像

docker build -f mydockerfile -t mycentos:1.0 .

在这里插入图片描述
在这里插入图片描述
创建成功:
在这里插入图片描述
在这里插入图片描述
3.测试运行
在这里插入图片描述
还可以通过docker history命令查看镜像是怎么制作的:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Alinlx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值