黑马程序员技术交流社区

标题: 【上海校区】使用docker容器定制镜像(image)并部署简单 we... [打印本页]

作者: 不二晨    时间: 2018-10-8 11:03
标题: 【上海校区】使用docker容器定制镜像(image)并部署简单 we...
概念简述环境准备(运行环境:Ubuntu 16.04)
- 安装jre:
        可参考1:http://blog.csdn.net/u010542873/article/details/51679373
        2:http://www.linuxidc.com/Linux/2016-04/129731.htm
- 安装Tomcat:
         可参考:Tomcat9安装
- 在tomcat中部署webapp:
    可参考:http://www.linuxidc.com/Linux/2015-02/112887.htm
    IDEA集成样例可参考http://blog.csdn.net/yhao2014/article/details/45740111
     -  Ubuntu 16.04安装docker:
        可参考 http://www.linuxidc.com/Linux/2016-12/138489.htm
利用DockerFile制定镜像通过编写Dockerfile的方式制作镜像。
需要在Dockerfile中完成如下几项工作:
(1)安装jre
(2)安装tomcat,并完成在tomcat中部署web应用的基本配置(为实现此功能:在制作镜像之前直接先完成tomcat的基础配置,然后直接拷贝到镜像中即可)。
(3)对外开发8080端口(具体的端口值可以根据实际Tomcat配置参数为准)。
$mkdir docker$cd docker建立docker文件夹,并把之前下好的jre文件夹和tomcat文件夹(或者压缩包,均可)拖入其中,docker文件夹下目录如下:

说明:webapps文件夹中可以放入war吧,后面通过数据卷的方式挂载到镜像里,简单点可以直接将项目文件夹放入apache-tomcat-9.0.0.M21的webapps中,让tomcat自行部署,其余方法可参考上面Tomcat部署部分的方法。
编写Dockerfile文件补充:关于Dockerfile文件
在容器中配置运行环境(此处是jre和tomcat)的任务主要是在容器中安装软件,并进行相应的配置,如果把这个过程所要执行的命令全都提取出来,写入一个文件中,若需要构建镜像则直接运行该文件,基于其中的命令生成一个镜像。这就是基于Dockerfile构建镜像的方式,这个文件就称为Dockerfile
     Dockerfile文件一共分为四个部分,分别是:注释信息、基础镜像、创建者信息、构建镜像所需的命令:
     详细介绍可参考:http://www.tuicool.com/articles/vqAVRrEhttp://blog.csdn.net/wsscy2004/article/details/25878223
     Dockerfile文件内容如下:
     (以系统Ubuntu镜像为基础镜像)
#Build java web app container imageFROM ubuntu:16.04MAINTAINER zhaokx3 "zhaokx3@mail2.sysu.edu.cn"#Make java and tomcat install directoryRUN mkdir /usr/local/javaRUN mkdir /usr/local/tomcat#Copy jre and tomcat into imageADD jre1.8.0_131 /usr/local/java/ADD apache-tomcat-9.0.0.M21 /usr/local/tomcat/ENV PATH $PATH:/usr/local/java/bin#Expose http portEXPOSE 8080CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]创建镜像
sudo docker build -t="ubuntu/mine:tomcat" .
启动容器
sudo docker run -p 8090:8080 --name tomcat -v /home/zhaokx3/docker/webapps/:/webapps/ ubuntu/mine:tomcat
简要说明:参数-v指定挂载的卷,如没有可不使用,参数-p将8080端口映射成主机的8090端口,这样就可以访问主机的8090端口就到容器的8080端口。
docker run 命令详解可参考:http://www.lupaworld.com/article-250439-1.html
最后成功通过http://localhost:8090/your_test 访问自己的web应用(端口8090):

可对比直接利用Tomcat部署web应用(端口8080):
  
【转载】https://blog.csdn.net/zhaokx3/ar ... 527?utm_source=copy

作者: 不二晨    时间: 2018-10-10 11:40
奈斯
作者: 魔都黑马少年梦    时间: 2018-11-1 16:33





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2