环境准备
需要提前下载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,就可以看到已经上传的镜像信息了

执行搜索
