18 Dockerfile完全指南_常见的13种指令上

 欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力

对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    专栏:

文章概述:Dockerfile完全指南_常见的13种指令的介绍

关键词:docker  Dockerfile  13种指令

本文目录

Dockerfile完全指南_常见的13种指令上

FROM

MAINTAINER

WORKDIR

RUN

ADD

COPY

CMD

 

 

Dockerfile完全指南_常见的13种指令上

FROM

指定基础镜像,必须为第一个命令。

指令格式:

FROM <image>  

FROM <image>:<tag>

注意:

tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像

MAINTAINER

维护者信息

指令格式:

MAINTAINER <name>

示例


MAINTAINER Jasper Xu   MAINTAINER sorex@163.com

WORKDIR

工作目录,类似于cd命令

指令格式:

WORKDIR /usr/workdir

示例

WORKDIR /a  (这时工作目录为/a)

WORKDIR b  (这时工作目录为/a/b)

WORKDIR c  (这时工作目录为/a/b/c)

示例

WORKDIR /OPT

RUN mkdir docker

WORKDIR /usr/local

RUN echo "test" > a.info

注意: 通过WORKDIR设置工作目录后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT、ADD、COPY等命令都会在该目录下执行。在使用docker run运行容器时,可以通过-w参数覆盖构建时所设置的工作目录。

RUN

构建镜像时执行的命令

指令语法:

# 1. shell执行

格式 RUN <command>

# 2. exec执行

格式 RUN ["executable", "param1", "param2"]

示例

WORKDIR /OPT

RUN mkdir docker

WORKDIR /usr/local

RUN echo "test" > a.info

注意:

RUN指令创建的中间镜像会被缓存,并会在下次构建中使用。如果不想使用这些缓存镜像,可以在构建时指定--no-cache参数,如:docker build --no-cache

ADD

将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget。

指令格式:

ADD <src>... <dest>  

ADD ["<src>",... "<dest>"] 用于支持包含空格的路径示例:

示例

添加所有以"hom"开头的文件

ADD hom* /mydir/

? 替代一个单字符,例如:"home.txt"

ADD hom?.txt /mydir/

添加 "test" 到 WORKDIR/relativeDir/

ADD test relativeDir

添加 "test" 到 /absoluteDir/

ADD test /absoluteDir/

COPY

功能类似ADD,但是是不会自动解压文件,也不能访问网络资源。

语法格式:

COPY <源路径>  <目标路径>

示例

COPY ./start.sh /start.sh

CMD

构建容器后调用,也就是在容器启动时才进行调用。指定这个容器启动的时候要运行的命令只有最后一个会生效可被替换。

指令格式:

CMD指令与RUN指令相似,也具有两种格式:

1. shell格式:CMD <命令>

2. exec格式: CMD ["可执行文件", "参数1", "参数2", …]

示例


CMD echo "This is a test." | wc -

CMD ["/usr/bin/wc","--help"]

注意: CMD不同于RUN,CMD用于指定在容器启动时所要执行的命令,而RUN用于指定镜像构建时所要执行的命令。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值