一、安装docker:
-
下载最近版的Docker for OS X Installer。下载地址:https://www.docker.com/products/docker-toolbox
-
运行安装程序, 安装VirtualBox和Boot2Docker管理工具。
- 运行应用程序文件夹下的Boot2Docker应用:
二、编写dockerfile,创建基础镜像
FROM maven:3.3.3
设置 Tomcat 相关的环境变量,并添加到系统 PATH 变量中,使 Tomcat 的启动脚本可以在 Shell 中直接访问
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME
设置 Tomcat 版本变量,构建时可以传入相应参数更改 Tomcat 版本,随后使用
curl
执行下载,并且验证后解压,同时删除多余的 bat
脚本,该脚本仅用于 Windows
环境,在镜像中无用。
ENV TOMCAT_VERSION 8.0.32
ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-8/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz
</pre></div><div><span style="font-family:Microsoft YaHei,Verdana,sans-serif,SimSun"><span style="font-size:14px; line-height:22.4px"><span style="color:rgb(85,85,85); font-family:'Microsoft Yahei','Hiragino Sans GB','WenQuanYi Micro Hei',sans-serif; font-size:16.8px; letter-spacing:-0.48px; line-height:28.56px"><span style="color:rgb(85,85,85); font-family:'Microsoft Yahei','Hiragino Sans GB','WenQuanYi Micro Hei',sans-serif; font-size:16.8px; letter-spacing:-0.48px; line-height:28.56px"></span></span></span></span><pre name="code" class="java">RUN set -x \
&& curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \
&& curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \
<span style="font-family: 'Microsoft Yahei', 'Hiragino Sans GB', 'WenQuanYi Micro Hei', sans-serif; font-size: 16.8px; letter-spacing: -0.48px; line-height: 28.56px;"> && tar -xvf tomcat.tar.gz --strip-components=1 \</span>
&& rm bin/*.bat \
&& rm tomcat.tar.gz*
暴露 Tomcat 默认的 8080 端口,并指定基于该镜像的容器启动时执行的脚本,该脚本为 Tomcat 启动脚本。
EXPOSE 8080
CMD ["catalina.sh", "run"]
构建基础镜像
三、创建maven webapp项目 同样编写dockerfile文件 1.选择基础镜像docker build -t jialuo/base-tomcat-maven .
2.添加项目构建FROM base-tomcat-maven:jialuo
ADD pom.xml /tmp/build/
RUN cd /tmp/build && mvn -q dependency:resolve
</pre></address><address><span style="font-family:Microsoft YaHei,Verdana,sans-serif,SimSun"><span style="font-size:14px; line-height:22.4px"></span></span><pre name="code" class="java">ADD src /tmp/build/src
#构建应用
RUN cd /tmp/build && mvn -q -DskipTests=true package \
#拷贝编译结果到指定目录
&& rm -rf $CATALINA_HOME/webapps/* \
&& mv target/*.war $CATALINA_HOME/webapps/ROOT.war \
#清理编译痕迹
&& cd / && rm -rf /tmp/build
</pre></address><address><span style="font-family:Microsoft YaHei,Verdana,sans-serif,SimSun"><span style="font-size:14px; line-height:22.4px"></span></span><pre name="code" class="java">EXPOSE 8080
CMD["catalina.sh","run"]
3.执行镜像构建
docker build -t docker-demo-java-tomcat .
4.基于镜像创建容器
docker run -d -p 8080:8080 docker-demo-java-tomcat
5.打开浏览器访问你的应用
http://127.0.0.1:8080/