(1)
、
Dockerfile
是什么?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。需要配合
docker builder
【根据提供的
Dockerfile
构建自己的镜像】指令使用。
(2)
、为什么要自己构建镜像
docker
官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计
Docker Hub
超过
30%
的官方镜 像包含高危漏洞。此外,由于网络等原因也会造成docker pull
下载镜像的速度很慢。基于这种情况,我 们可以手动定制docker
系统镜像。
可能使用镜像需要安装的东西比较多,可以根据需要定制化
(3)
、演示构建
1
、创建一个
images
目录将需要使用到安装包上传
需要: 1.apache-tomcat-8.5.84.tar.gz
2.jdk-8u351-liunx-x64.tar.gz
2
、在当前目录中创建
Dokcerfile
文件,并配置
vim Dockerfile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~此处演示的是配置一个
jdk+tomcat
镜像
(1): 设置原始镜像
FROM centos
(2):
加载资源
ADD jdk-8u311-linux-x64.tar.gz /usr/local/jdk #
安装包要和上传一致
ADD apache-tomcat-8.5.77.tar.gz /usr/local/tomcat #
安装包要和上传一致
(3):
环境变量配置
ENV MYPATH /usr/local
(4): 切换工作目录
WORKDIR $MYPATH
(5): 设置环境变量
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_311
#
变量路径要根据安装包来,jdk-8u311--
转为
—-->jdk1.8.0_311
ENV CATALINA_HOME /usr/local/tomcat/apache-tomcat-8.5.77
#
变量路径要根据安装包来
apache-tomcat-8.5.77
ENV CATALINA_BASE /usr/local/tomcat/apache-tomcat-8.5.77
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
(6): 开放端口
EXPOSE 8080
(7): 启动
tomcat
#
注意,
tomcat
运行的时候需要使用下面格式,注意路径问题
#
命令应该是
catalina.sh run
CMD ["/usr/local/tomcat/apache-tomcat-8.5.77/bin/catalina.sh", "run"]
3.
使用
docker build
指令构建镜像
docker build -t ImageName:TagName dir
选项
-t
给镜像加一个
Tag
ImageName
给镜像起的名称
TagName
给镜像的
Tag
名
Dir Dockerfile
所在目录
4.
查看镜像
myimagel self fd3f9859c4cb ll seconds ago 594MB