本文章来自【知识林】
视频教程请查看《使用Dockerfile构建MyEclipse创建的JavaWeb项目(视频)》
思路分析
- 由Centos7作为基础镜像
- 安装Java环境(安装Jdk)
- 安装Tomcat
- 拷贝JavaWeb项目到镜像
- 运行tomcat
- 通过创建的这个镜像启动容器
完整的Dockerfile文件
# 这个镜像的基础镜像是Centos7
FROM centos:7
# 作者
MAINTAINER zslin.com "393156105@qq.com"
# 搜索可以安装的jdk版本,由于网速问题先注释
#RUN yum search java | grep jdk
#安装Jdk
RUN yum -y install java-1.7.0-openjdk
# 安装wget工具
RUN yum -y install wget
# 创建一个文件夹 /web
RUN mkdir /web/
# 切换工作目录到/web/下
WORKDIR /web/
# 下载tomcat文件
RUN wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-6/v6.0.47/bin/apache-tomcat-6.0.47.tar.gz
# 安装tar工具
RUN yum -y install tar
# 解压tomcat压缩文件
RUN tar zxvf apache-tomcat-6.0.47.tar.gz
# 切换工作目录到ROOT下
WORKDIR /web/apache-tomcat-6.0.47/webapps/ROOT
RUN ls -s
# 删除tomcat默认的项目文件
RUN rm -rf *
# 将我们的项目(WebRoot)添加到docker镜像中的tomcat下的ROOT目录下
ADD WebRoot /web/apache-tomcat-6.0.47/webapps/ROOT
RUN ls -s
# 公布tomcat的8080端口
EXPOSE 8080
# 启动tomcat
ENTRYPOINT ["../../bin/catalina.sh", "run"]
创建镜像
docker build -t "zsl131/app1" .
**说明 : **
docker build
: 创建镜像的命令;
-t
:指定镜像名称
zsl131/app1
:zsl131是指用户名,app1是具体的镜像名;
.
:指在当前目录下找Dockerfile进行构建。
运行容器
docker run -p 80:8080 --name app1 zsl131/app1
说明:指定该容器名称为app1
,端口号为80
,此时可以打开浏览器输入:http://192.168.99.100
访问(我docker虚拟机的IP地址是192.168.99.100)。
后台运行docker容器:
docker rm -f app1
docker run -d -p 80:8080 --name app1 zsl131/app1
说明:由于在上面已经使用了名称:app1
,所以需要先删除再启动。
docker rm -f app1
:删除名为app1
的容器;
-d
:表示后台运行;
需要查看后台运行的容器的日志是可使用以下命令:
docker logs app1
说明:app
是容器的名称。
视频教程请查看《使用Dockerfile构建MyEclipse创建的JavaWeb项目(视频)》
本文章来自【知识林】