Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

一、准备好Jdk和Tomcat

apache-tomcat-8.5.50.tar.gz
jdk-8u212-linux-x64.tar.gz

注意:

  • Jdk 和 Tomcat 记得从官网下载,否则制作出来的镜像容易出现不兼容问题。

  jdk1.8下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  tomcat8下载:https://tomcat.apache.org/download-80.cgi

  • 准备修改好的 server.xml (修改连接和线程数),制作镜像时覆盖tomcat中的;

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

  • 准备修改好的 catalina.sh (修改JVM参数),制作镜像时覆盖tomcat中的;

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

  • apache-tomcat-8.5.50.tar.gz、jdk-8u212-linux-x64.tar.gz、Dockerfile放在同一目录

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

二、编写Dockerfile

内容如下:

# 指定操作的镜像FROM centos:7# 维护者信息
MAINTAINER caoweixiong

# 将 jdk 和 tomcat 添加到镜像centos的/usr/local/目录下
ADD jdk-8u212-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.50.tar.gz /usr/local/# 覆盖相关文件
COPY server.xml /usr/local/apache-tomcat-8.5.50/conf/
COPY catalina.sh /usr/local/apache-tomcat-8.5.50/bin/

# 添加环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_212
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.50
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 暴露8080端口
EXPOSE 8080

# 容器启动时运行tomcat
CMD /usr/local/apache-tomcat-8.5.50/bin/catalina.sh run

三、制作镜像

执行 docker build 制作镜像:

docker build -t tomcat-8.5.50:v1 .

说明:

-t  设置tag名称, 命名规则registry/image:tag(若不添加版本号,默认latest)

.  表示使用当前目录下的Dockerfile文件(注意语句后面有一个点),如需指定目录,则用 -f

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

执行 docker images 查看构建的镜像:

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

四、启动tomcat容器

docker run -d --name mytomcat -v /server/webapps:/usr/local/tomcat/webapps/ -e TZ="Asia/Shanghai" --privileged=true -p 8080:8080 tomcat-8.5.50:v1

说明:

*  -d 后台运行

*  --name mytomcat 容器名称
-v /server/webapps:/usr/local/tomcat/webapps/ 挂载当前项目的运行目录到tomcat下的webapps
-e TZ="Asia/Shanghai" 设置时区
--privileged=true 设置拥有容器中的真正的root权限
-p 8080:8080 映射端口(宿主机port : 容器port)
*  tomcat-8.5.50:v1 镜像的名称

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

执行 docker ps 查看进程:

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

五、访问验证

输入地址:http://ip:8080

Docker —— 使用 Dockerfile 制作 Jdk + Tomcat 镜像

相关推荐