dockerfile reference

本文介绍了如何使用docker build命令构建镜像,详细解释了context的概念及其重要性,并提供了Dockerfile的格式规范及环境变量替换等高级用法。
部署运行你感兴趣的模型镜像

dockerfile reference

用法

docker build 这个命令可以通过dockerfile和context来构建一个镜像,context是通过PATHURL 来设置的,PATH是一个在本地文件系统的目录,URL是一个本地git仓库

context是递归处理的,所以一个PATH是包括其子目录的,一个URL是包括其子仓库的,下面的一个例子展示了用当前目录作为context来运行build命令的效果

$ docker build .
Sending build context to Docker daemon  6.51 MB
...

通常最好的办法是找一个空目录作为context, 并且把dockerfile扔进这个空目录,里面仅仅增加构建dockerfile所需的文件

Warining: 不要用root目录来作为PATH , 因为他会把整个root目录 “/” 的内容仍给Docker daemon进程

通常dockerfile位于context目录下,可以使用-f 来指定具体的dockerfile路径,但是默认的一般是当前目录的dockerfile ,可以不用写 比如:

docker build -f /path/to/a/Dockerfile .  

也可以指定仓库和tag来保存新构建的镜像

docker build -t shykes/myapp .

也可以使用-t来保存到多个仓库中

docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .

Format

指令是不区分大小写的, 但是都约定成俗的都是大写

每个dockerfile开始的指令都是以FROM 开始

Environment replacement

环境变量由ENV 语句设置, 可以用$variable_name or ${variable_name}设置

  • ${variable:-word} indicates that if variable is set then the result will be that value. If variable is not set then word will be the result. // 如果设置了变量,就用变量的,如果没有设置,就用现在的设置的,相当于设置空白默认值
  • ${variable:+word} indicates that if variable is set then word will be the result, otherwise the result is the empty string. //如果设置了,就用设置的,没有设置,就是空的

例子

FROM busybox
ENV foo /bar  # 设置变量 foo = /bar
WORKDIR ${foo}   # WORKDIR /bar
ADD . $foo       # ADD . /bar
COPY \$foo /quux # COPY $foo /quux      #加上\ 就会使变量变成字面意思

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值