Sign inSign up

homebean/tomcat

By homebean

•Updated over 5 years ago

centos:latest 为基础,apache-tomcat-8.0.9与jdk-8u251-linux-x64制作的镜像。

Image
0

402

homebean/tomcat repository overview

⁠准备tomcat和jdk压缩包

jdk8u25下载地址:https://download.oracle.com/otn/java/jdk/8u251-b08/3d5a2bb8f8d4428bbe94aed7ec7ae784/jdk-8u251-linux-x64.tar.gz⁠

tomcat8.09下载地址:https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.9/bin/apache-tomcat-8.0.9.tar.gz⁠

注意:

a、jdk和tomcat记得从官网下载,否则制作出来的镜像容易出现不兼容问题。

b、apache-tomcat-8.5.32.tar.gz、jdk-8u181-linux-x64.tar.gz、Dockerfile放在同一目录

⁠一、Dockerfile 如下:

FROM centos:latest

MAINTAINER [email protected]⁠

⁠修改时区

ENV TZ=Asia/Shanghai

RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

⁠设置中文字体解决中文文件路径问题

RUN yum -y install langpacks-zh_CN.noarch

ENV LC_ALL zh_CN.UTF-8

⁠添加tomcat和jdk到指定目录,add命令会自动解压

ADD jdk.tar.gz /usr/local/

ADD tomcat.tar.gz /usr/local/

⁠配置tomcat和jdk环境变量

ENV JAVA_HOME /usr/local/jdk

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.9

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

⁠添加暴露8080端口给宿主机

EXPOSE 8080

⁠容器健康检查不需要可以删除这行

HEALTHCHECK --interval=120s --timeout=3s --start-period=120s CMD curl --fail http://localhost:8080/⁠ || exit 1

#--interval=<间隔>:两次健康检查的间隔,默认为 30 秒;

#--timeout=<间隔>:健康检查命令运行超时时间,如果超过这个时间,本次健康检查就被视为失败,默认 30 秒;

#--retries=<次数>:当连续失败指定次数后,则将容器状态视为 unhealthy,默认 3 次。

#--start-period=<间隔>: 应用的启动的初始化时间,在启动过程中的健康检查失效不会计入,默认 0 秒;

⁠设置容器启动时启动tomcat

CMD /usr/local/apache-tomcat-8.0.9/bin/catalina.sh run

⁠制作镜像,设置Dockerfile权限

chmod 777 Dockerfile

⁠通过Dockerfile生成tomcat镜像

docker build -t tomcat8:v1 .

注意!!v1需要加后面的点

⁠docker images查看刚刚构建的镜像

REPOSITORY TAG IMAGE ID CREATED SIZE

tomcat8 v1 12bd97615c88 About an hour ago 595MB

⁠上传镜像到本地镜像仓库

docker tag 12bd97615c88 homebean/tomcat:jdk8-tomcat8 ##12bd97615c88 刚才创建的镜像ID

docker login -u 用户名-p 密码 ##登录docker hub

docker push homebean/tomcat:jdk8-tomcat8 ##推送本地镜像

⁠二:运行容器

homebean/tomcat:jdk8-tomcat8版本为jdk8和apache-tomcat-8.0.9的版本

docker run -p 8080:8080 --name tomcat8-jdk8 -d -v /mnt/server/tomcat8/logs:/usr/local/apache-tomcat-8.0.9/logs -v /mnt/server/tomcat8/webapps:/usr/local/apache-tomcat-8.0.9/webapps -e JAVA_OPTS='-Xmx1024m' homebean/tomcat:jdk8-tomcat8

-p:指定端口号 第一个端口为外部端口,第二个为容器内部端口

-d:后台运行

--name:命名容器名称

-e JAVA_OPTS='-Xmx1024m' 设置内存大小

-v /mnt/server/tomcat8/logs:/usr/local/apache-tomcat-8.0.9/logs 映射logs文件 第一个地址为外部宿主机地址,第二个地址为容器内部地址

-v /mnt/server/tomcat8/webapps:/usr/local/apache-tomcat-8.0.9/webapps 映射网站目录 如需映射配置目录需要在外部目录中提前准备好配置文件,否则可能导致启动出错。

⁠进入tomcat容器

docker exec -it tomcat8 bash

⁠退出容器

exit

Tag summary

Content type

Image

Digest

Size

292.8 MB

Last updated

over 5 years ago

docker pull homebean/tomcat