dockerfile的学习

dockerfile是一种可以被docker程序解释的脚本,由一条条指令组成。通过编写dockerfile可以做到:点告知docker镜像;整合下载镜像,启动容器,编辑可写层等操作,可重复构建,提升效率;随时维护,修改,分享dockerfile。

dockerfile编写格式:

1、docjkerfile整体由两类语句组成:注释信息,指令和参数(一行一个指令)。

2、dockerfile指令名不区分大小写,但为了方便和参数区分,通常使用大写字母。

3、dockerfile中指令按从上到下顺序一次执行。

4、dockerfile中第一个非注释行必须是FROM指令,其用来指定制作当前镜像依据哪个基础镜像。

5、dockerfile中需要调用的文件必须跟dockerfile文件在同一目录或者其子目录下,其他路径无效

FROM:该指令必须为dockerfile文件的第一个非注释行,用于指定构建经i昂所使用的基础镜像,后续的指令运行都要依靠此基础镜像所提供的环境(简单说就是加入docker中所引起的基础镜像里面没有mkdir命令,哪后续的遏制了是没法是哦那个mkdir命令的)

实际使用中,如果没有指定仓库,docker build会先从本机查找是否有此基础镜像,如果没有会默认去docker hub registry拉取,再找不到就会报错

语法格式:

FROM [--platform=<platform>] <image> [AS <name>]
FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]
FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]

实践::创建目录dockerfile,并且再该目录下创建mydocker-centos

[root@192 dockerfile]# cat mydocker-centos
FROM alpine
EXPOSE 80
docker build -f dockerfile文件路径 -t 镜像名:tag,如果不指定路径,表示是当前路径,后面加 .
[root@192 dockerfile]# docker build -f mydocker-centos -t alpine:0.1 .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM alpine
 ---> 9c6f07244728
Step 2/2 : EXPOSE 80
 ---> Running in 589c4751fc7e
Removing intermediate container 589c4751fc7e
 ---> c93f90b5ba53
Successfully built c93f90b5ba53
Successfully tagged alpine:0.1
[root@192 dockerfile]# cat mydocker-centos
FROM alpine
EXPOSE 80
[root@192 dockerfile]# docker images
REPOSITORY        TAG       IMAGE ID       CREATED              SIZE
alpine            0.1       c93f90b5ba53   About a minute ago   5.54MB
ouerevery/devin   v2        6f854eec872b   38 hours ago         5.54MB
mysql             latest    40b83de8fb1a   4 days ago           535MB
nginx             latest    51086ed63d8c   12 days ago          142MB
postgres          latest    e270a11b9c8a   12 days ago          376MB
alpine            latest    9c6f07244728   2 months ago         5.54MB
centos            7         eeb6ee3f44bd   13 months ago        204MB

MAINTAINER:用于让dockerfile的作者提供个人的信息

dockerfile并不限制MAINTAINER指令的位置,但是建议放在FROM指令之后

在较新的docker版本中,已经被LABEL替代

语法:MAINTAINER <name> 句里:MAINTAINER <devin>

LABEL

同docker run -l

让用户指定各种元数据(键值对的格式)。

语法格式:LABEL <key>=<value> <key>=<value> <key>=<value> ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值