一、Java程序准备
一个Java web小程序session-web.war ,可通过浏览器访问网页,用来部署在容器中验证。
二、定制镜像
我们使用tomcat来部署web应用,又因为部署的是Java程序,所以要有JDK环境,在DockerHub上找到一个合适的基础镜像tomcat:7.0.99-jdk8
,Dockerfile的脚本如下:
# 基础镜像使用tomcat:7.0.88-jre8
FROM tomcat:7.0.99-jdk8
# 作者
MAINTAINER allen <allen@163.com>
# 定义环境变量
ENV TOMCAT_BASE /usr/local/tomcat
# 复制war包(session-web.war放在跟Dockerfile同级目录下)
COPY ./session-web.war $TOMCAT_BASE/webapps/
执行构建命令
docker build -t session-web:latest .
如果构建成功,则会显示构建的分层信息及结果,并查看构建出的镜像
三、运行镜像
镜像制作好之后使用如下命令运行镜像:
docker run --name session-web -d -p 8888:8080 session-web:latest
--name
:给容器命名
-d
:容器在后台运行
-p
:指定端口映射,tomcat默认端口是8080,这里的作用是指定一个宿主机端口跟8080做映射。
为了看到容器的启动日志,不使用-d
参数,容器正常启动。
四、访问Java Web应用
先查看宿主机IP
启动后使用
netstat -na | grep 8888
验证端口是否是在监听状态
所以在浏览器中访问的URL为:http://192.168.27.133:8888/session-web/user/login