构建Tomcat DockerFile

378 阅读2分钟

环境准备

需要提前下载jdk、tomcat linux版本,创建Tomcat的DockerFile一般为两种方式

  • 采用官方Tomcat镜像,移除Open JDK,安装Oracle JDK版本;
  • 采用Ubuntu为源镜像,在此基础上配置JDK与Tomcat;

出DockerFile

先将jdk tomcat进行解压,通过官方网站下载tomcat,jdk,并提前进行解压;

dckerfile输出

FROM ubuntu:16.04
MAINTAINER ws010289@126.com
#将本地jdk tomcat复制进入容器中,存在于当前文件夹中,需要提前对jdk tomcat进行解压
COPY ./jdk1.8.0_11 /usr/local/lib/jdk1.8
COPY ./apache-tomcat-8.5.51 /usr/local/lib/tomcat
#设置环境变量
ENV JAVA_HOME /usr/local/lib/jdk1.8
ENV JRE_HOME /usr/local/lib/jdk1.8/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
ENV CATALINA_OPTS -Xms128m -Xmx1024m -XX:PermSize=64M -XX:MaxPermSize=512M
ENV CATALINA_HOME /usr/local/lib/tomcat
#绑定端口
EXPOSE  8080
#启动命令
ENTRYPOINT /usr/local/lib/tomcat/bin/startup.sh && tail -f /usr/local/lib/tomcat/logs/catalina.out
CMD ['ws010289/tomcat']

创建

创建文件

将上传内容输入并创建文件名为:Dockerfile,要注意大小写;

执行构建

该命令:sudo docker build -t ws010289/tomcat:v1 --rm=true .,ws010289/tomcat镜像的名字及tag, 最后的点代表当前目录;
已有容器生成镜像 sudo docker commit -a 'wangs' -m '安装了Confluence' runhua-wiki ws010289/confluence:v1

  • -a 表示作者
  • -m 表示备注

启动

并创建容器:sudo docker run -it -p 9005:8080 --name tomcat_test -d ws010289/tomcat:v1

  • -p 映射端口
  • --name 容器名称
  • -d 表示后台运行
  • ws010289/tomcat:v1 源于哪个镜像

注意事项

建议构建镜像时,依据官方的ID来创建,ws010289/tomcat,防止在上传镜像时还需要对其进行重新调整,

上传镜像市场

创建账号

登录docker hub 创建账号https://hub.docker.com/

创建仓库信息

输入镜像名称及描述

登录并上传

sudo docker login 然后输入docker ID及密码
crmsvr@crmsvr-09:~/data/tomcat/data$ sudo docker push ws010289/tomcat:v1
The push refers to repository [docker.io/ws010289/tomcat]
13b0148cf37f: Pushed 
f21708a0893d: Pushed 
4ae3adcb66cb: Pushed 
aa6685385151: Pushed 
0040d8f00d7e: Pushed 
9e6f810a2aab: Pushed 

查看镜像仓库

这时候查看docker hub,就可以看到已经上传的镜像信息了

执行搜索