docker的话,你可以把它想象成虚拟机;虽然本质上有区别,但实际在运用的时候把它想象成虚拟机就ok了。
现在你又一台虚拟机了,为了部署java的web应用要那些东西呢?
首先装个系统,然后安装jdk,安装tomcat,把web程序扔到tomcat里面去,启动tomcat,完成!
你可以通过dockerfile来完成(装个系统,然后安装jdk,安装tomcat)这三个步骤,具体怎么做,请搜索如何在docker里面安装tomcat;
事实上,这个步骤已经有人帮我们做了,我们可以直接下载这个已经装好了系统装好了jdk和tomcat的‘虚拟机快照’了(docker镜像)。
喽,完全是现成的
然后
docker pull hub.c.163.com/library/tomcat:latest
就把这个虚拟机拷贝到你的docker里面了。
现在我们要把web应用放到这个虚拟机里,怎么做?
通过dockerfile来写一啪啦的批处理命令(就这么理解感觉容易些)
把要拷贝进去的应用和dockerfile放一块儿
下面是dockerfile的内容
FROM hub.c.163.com/library/tomcat:7-jre8 //说你现在用的就是这台装了tomcat装了jdk的虚拟机(镜像)
RUN mkdir -p /usr/local/tomcat/project/blog_system //创建一个文件夹,哦对了你的先去下虚拟机哪里看看tomcat安哪里了,这里是/usr/local/tomcat这个目录,
ADD ./blog_system/ /usr/local/tomcat/project/blog_system/ //现在你就可以把工程扔进你想要放的地方了
COPY ./server.xml /usr/local/tomcat/conf/server.xml //加入你要改tomcat的配置文件,喽,修改好了就把里面的那个替换掉
VOLUME /usr/local/tomcat/ //这个是可选项,把虚拟机里面的某个目录挂出来,我选择把整个tomcat目录都挂出来了,以后改了东西直接重启,完全萌大奶
EXPOSE 8082 //开放端口
CMD ["catalina.sh", "run"] //运行
好了,dockerfile也写好了,直接在文件件下吗创建你的虚拟机吧,创建装了系统装了jdk装了tomcat还把项目扔进去了的虚拟机(镜像)
命令 docker build -t <镜像名字> .
然后完成
记着这个镜像的id,忘了的话 docker images 看看是哪个
终于到了启动的时候了
docker run --name <容器名称> -p 你的端口:容器开发的端口 <镜像id(名称也行)>
完成,完全完成;
顺带把整个tomcat目录页Duang出来了。什么日志啊,配置啊,修改项目啊,修改配置文件啊,你都可以在这里完成,改好了重启容器就好了
觉得还是麻烦的话,装个docker ui吧,直接运行
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
然后本地访问localhost:9000 完成