docker系列 第四章 Dockerfile

ddocker系列 第四章 Dockerfile

第一章 linux安装docker
第二章 Docker常用命令
第三章 安装
第四章 Dockerfile


一、Dockerfile是什么?

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了多条构建镜像所需的指令和说明。

二、Dockerfile常用指令

FROM

构建基础镜像

语法

FROM <image>
FROM <image>:<tag>

实例

FROM mysql
FROM mysql:5.7

MAINTAINER

镜像维护人员

语法

MAINTAINER <name>

实例

MAINTAINER 名称/邮箱

RUN

运行指定的命令

语法

RUN <command>
RUN ["executable", "param1", "param2"]

实例

RUN yum install mysql
RUN ["/bin/bash", "-c", "echo hello"]

CMD

容器启动时要运行的shell命令。

每个Dockerfile只能有一个CMD命令,多个CMD命令只执行最后一个。若容器启动时指定了运行的命令,则会覆盖掉CMD中指定的命令。

语法

CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD <shell命令>

实例

CMD [ "sh", "-c", "echo $HOME" ]
CMD [ "echo", "$HOME" ]

VOLUME

容器与主机数据卷挂载

语法

VOLUME ["<路径1>", "<路径2>"...]
VOLUME <路径>

实例

VOLUME ["/data1", "/data2"]
VOLUME /data1 /usr/data

WORKDIR

设置容器工作目录,对RUN,CMD,ENTRYPOINT,COPY,ADD生效

语法

WORKDIR <路径>

实例

WORKDIR /home 

ARG

指令定义了一个变量,用户可以在构建时使用 docker build 命令使用 --build-arg varname=value 标志将其传递给构建器。

语法

ARG <name>[=<default value>]

实例

ARG user1

EXPOSE

声明容器外部访问端口

语法

EXPOSE [端口]

实例

EXPOSE 80

ENV

设置环境变量

语法

ENV <key> <value>
ENV <key>=<value> ...

实例

ENV word hello
ENV word=hello

ADD

拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压

语法

ADD <src>... <dest>
ADD ["<src>",... "<dest>"]

dest 路径的填写可以是容器内的绝对路径,也可以是相对于工作目录的相对路径
src 可以是一个本地文件或者是一个本地压缩文件,还可以是一个url

实例

ADD text.txt home/ 

COPY

拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能

用法与ADD一致

ENTRYPOINT

容器启动命令

语法

ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2

实例

ENTRYPOINT ["top", "-b"]

三、使用Dockerfile

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值