Dockfile的详解
Posted wanglun1101
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockfile的详解相关的知识,希望对你有一定的参考价值。
Dockerfile是构建镜像的指令文件,按照dockerfile的规范分为如下几部分:
- FROM 基础镜像,
FROM alpine:3.8
(任何的一个镜像都可以作为基础镜像,主要看我们做的镜像是干嘛的,比如tomcat镜像需要依赖jdk,那我们可以从一个最简单的操作系统去安装jdk再安装tomcat,也可以直接使用别人做好的jdk镜像安装tomcat) - LABEL 标签,一般标记维护者信息
LABEL maintainer=‘XXX‘
- 镜像操作指令,包括ENV、RUN、ADD、COPY、WORKDIR、EXPOSE等
- 镜像启动的命令,CMD或者ENTRYPOINT,不建议使用ENTRYPOINT
详细说明:
- ENV 设置镜像启动时的环境变量,
ENV JAVA_HOME=/usr/lib/jvm/default_jvm
- ADD 把本地文档拷贝到镜像中,如果是压缩文件,会自动解压
ADD tomcat.tar.gz /usr/local/
- COPY 把本地文档拷贝到镜像中,
COPY server.xml /usr/local/tomcat/conf/server.xml
- WORKDIR 容器的工作目录,进入容器时默认进入的目录,
WORKDIR /usr/local/tomcat/webapps/
- EXPOSE 暴露的端口,
EXPOSE 80
- CMD 启动镜像执行的命令
CMD ["catalina.sh", "run"]
- RUN 执行命令
RUN apk --no-cache add tzdata bash bash-doc bash-completion
执行命令docker build -t tomcat:8-jre8-alpine .
创建镜像
执行命令docker images|grep tomcat
查看镜像
启动镜像
docker run -d -p 80:80 --name tomcat -v `pwd`/webapps/:/usr/local/tomcat/webapps/ tomcat:8-jre8-alpine
以上是关于Dockfile的详解的主要内容,如果未能解决你的问题,请参考以下文章