docker学习及项目应用实战(四Dockefile语法梳理和实践)

Dockefile语法梳理和实践

参考官方文档:https://docs.docker.com/reference/
1.From

From scratch #制作base image
From centos #使用base image 来构建自己的image

技巧:尽量使用已有的资源,使用官方的image来构建自己的image,原因很简单:安全

2.Label

LABEL maintainer = "xiao" 
LABEL version = 1.0 
LABEL description = ""

技巧:作为image的注释必不可少,让人能够了解image的基本情况,值得注释

3.Run

RUN yum update && yum install -y vim \
python-dev #反斜杠换行

技巧:因为每次run对于image来说都会认为是新的分层,所以对于run来讲为了避免无用分层合并多条命令成一行(使用&&符号来合并两条命令),为了防止一行过长,用反斜杠()来进行换行,增加美观程度。

4.WORKDIR
设定当前工作目录

WORKDIR /test #如果没有会自动创建test目录

技巧:用WORKDIR尽量不要用RUN cd 虽然也能实现目的,尽量使用绝对目录!

5.add 和 copy

WORKDIR /root
ADD hello test/   #/root/test/hello
#等同于
WORKDIR /root
copy hello test/

add和copy的区别体现在

ADD test.tar.gz    #会自动解压

技巧:大部分情况下使用copy优与ADD,add除了copy还有别的功能(如解压),添加远程目录或文件一般使用curl或wget
6.env

ENV aaa 5#设置常量

技巧:使用env来增加dockfile的可维护性

7.VOLUME 和EXPOSE
8.RUN CMD ENTRYPOINT
RUN:执行命令并创建新的image layer
CMD:设置容器启动后默认执行的命令和参数
ENTRYPOINT:设置容器启动时运行的命令
这三种参数有两种格式:shell格式和exec格式,个人偏好使用shell格式

ENTRYPOINT echo “hello”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值