Docker中的Dockerfile

Docker中的Dockfile


1、关于Dockerfile


Docker可以从一个Dockerfile读取内容,自动生成镜像文件。


Dockerfile是一个文本文件,它包含了用户将要在image中执行的所有命令。


通过docker build命令创建镜像时,Dockerfile中包含的这些命令将被连续地执行。


2、Dockfile中的关键字


FROM
用法:FROM <image> Or FROM <image>:<tag> Or FROM <image>@<digest>
例子:FROM ubuntu
用途:获得基础镜像


MAINTAINER
用法:MAINTAINER <name>
例子:MAINTAINER wang_san_shi "wang_san_shi@163.com"
用途:签名信息


RUN
用法:RUN <command> Or RUN ["executable", "param1", "param2"]
例子:RUN apt-get install -y openssh-server
用途:在当前镜像的顶层执行命令并提交结果


CMD
用法:CMD ["executable","param1","param2"] Or CMD ["param1","param2"] Or CMD command param1 param2
例子:CMD [“/bin/echo”, “Testing CMD in Docker!”]
用途:执行可执行文件或者为ENTRYPOINT指定参数或者以"/bin/sh -c"的方法执行命令。


LABEL
用法:LABEL <key>=<value> <key>=<value> <key>=<value> ...
例子:LABEL "com.example.vendor"="ACME Incorporated"
用途:为image配置metadata


EXPOSE
用法:EXPOSE <port> [<port>...]
例子:EXPOSE 8080
用途:告诉docker容器将在指定的端口监听,docker run命令中的-p参数(如-p 8080:8080)可以定义主机和容器之间的端口映射


ENV
用法:ENV <key> <value> Or ENV <key>=<value> ...
例子:ENV myName="wang_san_shi"
用途:设置环境变量


ADD
用法:ADD <src>... <dest> Or ADD ["<src>",... "<dest>"]
例子:ADD hom?.txt /mydir/(?匹配单个字符)
用途:拷贝文件、目录或者远程URL从<src>(主机文件系统)到<dest>(container文件系统)


COPY
用法:同ADD
例子:同ADD
用途:同ADD,区别是ADD可以实现下载URL和解压,而COPY不行


ENTRYPOINT
用法:ENTRYPOINT ["executable", "param1", "param2"] Or ENTRYPOINT command param1 param2
例子:ENTRYPOINT service tomcat7 start && /usr/sbin/sshd -D
用途:让容器的功能表现得像一个可执行程序一样


VOLUME
用法:VOLUME <dir>
例子:VOLUME /data
用途:为容器挂在/data目录(对应的主机上层目录为/var/lib/docker/vfs/dir)


3、使用Dockerfile创建image


通常使用docker build命令创建iamge:
docker build -f dockerfile_name -t image_tag .


-f指定Dockrfile的名称;
-t指定image的tag;
.表示dockerfile在当前路径下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值