dockerfile文件详解之基础语法

dockerfile文件详解之基础语法

一般而言 Dockerfile 可以分为4个部分

(1)基础镜像信息,

(2)维护者信息

(3)镜像操作命令

(4)启动时执行指令

1-注释

用 # 来进行注释

(1)基础镜像信息
1-FROM 指定基础镜像
这里给大家介绍一下一个基础镜像 alpine 非常小, 安全高,很多镜像都喜欢用它作为linux的基础镜像来用。

解下的案例我们也用这个基础镜像

#这是一个基础镜像 FROM alpine

2- LABEL 标签
主要是给我们镜像起一个描述的作用。

之前有一个 MAINTAINER ,过时了,我们不用它了, 但是如果看到有的Dockerfile 中有这个标签,我们知道是什么意思就可以了。

那么LABLE 标签怎么用呢?

LABEL maintainer=“dazhang”
name=“demo”
abc=“info1”
cde=“info2”

这个LABLE 可以省略,也就是可以不用写, 重点是下边的。

3- RUN 指令
RUN指令其实就是在linux 系统上跑一些命令,安装文件, 修改文件等操作。

比如我们要安装nginx

具体用什么命令安装需要看 alpine 的文档,这里我先不给大家演示,

我们就用一个简单的指令,先让大家理解

RUN echo dockefiletest

4-CMD 指令

CMD 是镜像启动时执行指令。

镜像启动如果是要运行很多命令:有2中方法

方法1:准备sh 文件

镜像启动运行这个sh 文件(大多数镜像是用这个方法)

方法2: 在CMD 直接写

CMD sleep 10; echo success

基于Dockerfile构建镜像
我们有了Dockerfile 接下来就要 编译生成我们的镜像 ,

#用来注释
#第一部分 基础镜像部分
FROM alpine
#第2部分: 维护者信息

LABEL  mainatiner="dazhhang" \
       name="demo" \
       abc="asdf"


#第3部分: 镜像操作指令
RUN  echo hello

#第4部分: CMD 命令
CMD sleep 300; echo success

然后 在启动容器运行我们生成的镜像。

docker build -t myalpine:v1.0 -f Dockerfile .

-f 是指定我们用哪个Dockerfile 来构建。

. 这个小点代表以当前目录作为构建的基础目录(类似上下文环境)

在这里插入图片描述

检查我们的镜像:

docker images

在这里插入图片描述

运行镜像

我们这次不用后台运行,用交互模式运行,因为我们制作的镜像 最后是睡10秒,就退出了。

没有阻塞进程。

我们先简单演示一下,后续会讲如何设置阻塞进程,让我们的镜像一直运行。

docker run -it --name=myalpin myalpine:v1.0

这个时候 会等待10秒收输出 success
在这里插入图片描述

输出后这个容器就结束了。

docker ps -a

在这里插入图片描述

以上就是我们只做一个镜像的最基本的命令。 大概分为4个部分,每个部分都必不可少。

比如我们现在要制作一个 springboot 项目, 那么基础镜像是一个依赖JDK 环境的镜像对吧,

然后 CMD 是一个带有 java -jar 命令,启动我们的jar 包。

下节课 给大家详细介绍每个指令的含义。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值