Docker常用指令之Dockerfile入门

基于Dockerfile创建镜像

Dockerfile中的指令

Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,下面是Dockerfile中的一些指令说明:

分类instruction说明用法
配置指令ARG定义创建镜像过程中使用的变量ARG VERSION=2.2
配置指令FROM指定所创建镜像的基础镜像FROM DEBIAN:${VERSION}
配置指令MAINTAINER镜像作者或者电子邮箱MAINTAINER WangLK
配置指令LABEL生成的镜像添加元数据标签(键值对形式)LABEL VERSION=“2.2”
LABEL author=“WangLK”
配置指令EXPOSE声明镜像内服务监听的端口EXPOSE 8808
配置指令USER指定运行容器时的用户民或UIDRUN groupadd
配置指令WORKDIR配置工作目录WORKDIR /a
配置指令ENV指定环境变量ENV APP VERSION=l.0.0
ENV APP_HOME=/usr/local/app
ENV PATH $PATH:/usr/local/bin
操作指令RUN运行指定命令RUN mkdir -p /a/b
操作指令CMD启动容器时指定默认执行的命令CMD ["–spring.profiles.active=dev"]
操作指令ADD添加内容到镜像(压缩文件会自动解压)ADD jdk-8u171-linux-x64.tar.gz /a/b
操作指令COPY复制内容到镜像COPY src本地主机,dest镜像

在编写玩Dockerfile后,通过命令来创建镜像

docker build -t tag:1.1.1 .#创建镜像,最后的点表示当前目录,即Dockerfile所在目录,-t表示镜像标签
docker build -f /tmp/docke_builder/ #-f可以指定上下文路径

.dockerignore文件

因为创建镜像,会将指定上下文路径中的数据发送给Docker客户端,所以上下文不能过大,否则会延缓镜像创建的过程,所以我们偶尔需要忽略上下文中的一些路径或者文件,此时就要用到.dockerignore文件

img

*表示任意多个字符

表示单个字符

表示不匹配

下面给一个使用Dockerfile构建jdk1.8的镜像

FROM centos:7
MAINTAINER WangLK
WORKDIR /usr
RUN mkdir /usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值