Dockerfile是什么?

Dockerfile是用来构建Docker镜像的文件! 就是一个命令参数脚本;
Dockerfile是面向开发的,我们以后要发布项目,做镜像,就需要编写Dockerfile文件,这个文件十分简单!
Docker镜像逐渐成为了企业交付的标准,必须掌握

Dockerfile基础知识

1.每个保留关键字都必须是大写字母
2.执行从上到下顺序执行
3.#表示注释
4.每一个指令都会创建提交一个新的镜像,并提交!

docker在运行时创建文件夹 docker怎么创建文件_tomcat

Docker通过Dockerfile发布镜像

构建步骤如下:
1.编写一个Dockerfile文件
2.Docker build 构建成为一个镜像
3.Docker run 运行镜像
4.Docker push 发布镜像(可以上传到两个地方 1,Dockerhub,2.阿里云镜像仓库)

需要注意的是 ,很多官方镜像就是一个基础包,很多功能没有,我们通常自己给自己搭建镜像。

Dockerfile指令

docker在运行时创建文件夹 docker怎么创建文件_docker_02

FROM 		#基础镜像,一切从这里开始构建
MAINTAINER	#镜像是谁写的,姓名+邮箱
RUN 		#镜像构建的是需要运行的命令
ADD			#步骤,类似tomcat镜像,这个tomcat的压缩包就是添加的内容
WORKDIR		#镜像的工作目录
VOLUME		#挂载到目录位置
EXPOSE		#暴漏端口,保留端口配置
CMD			#指令这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT	#指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD		#当构建一个被继承 dockerfile时候就会运行 ONBUILD 的指令。触发指令。
COPY		#类似ADD,将我的文件拷贝到镜像中
ENV			#构建的时候设置环境变量

Dockerfile小案例–制作tomcat镜像

编写Dockerfile文件

FROM centos
MAINTAINER happy<111@qq.com>
COPY readme.txt /usr/local/readme.txt

ADD /data/jdk-8u161-linux-x64.tar.gz /usr/local/
ADD /data/apache-tomcat-9.0.35.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_161
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.35
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.35
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.35/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.35/bin/logs/catalina.out

构建镜像

进入到dockerfile的目录下,敲命令的时候‘.’别忘了哦!
docker build -f Dockerfile -t minmalos:1.0 .

启动容器

docker images		#查看是否有minmalos:1.0镜像
docker run -d -P --name tomcat01 minmalos:1.0	#后台运行tomcat01容器

访问测试

docker在运行时创建文件夹 docker怎么创建文件_docker在运行时创建文件夹_03

发布项目

在本地做卷挂载就可以直接在本地进行编辑然后直接发布

可参考:
Docker入门–安装tomcat(四)
Docker入门–容器数据卷(五)