docker搭建tomcat javaweb环境

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010841296/article/details/53203977

还没有安装docker,可以参考下面链接
centos 安装 docker

1.下载centos镜像,并查看centos镜像的id

$ docker pull centos
$ docker images

这里写图片描述
2.下载jdk、tomcat 并放在宿主主机/data目录

$ wget http://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.8/bin/apache-tomcat-8.5.8.tar.gz

$ wget http://download.oracle.com/otn-pub/java/jdk/8u111-b14/jdk-8u111-linux-x64.tar.gz

3.运行容器

$ docker run -i -t -v /data/:/ 25c5298b1a36 /bin/bash

(1)-i :表示容器接受输入
(2)-t:表示进入交互模式
(3)-v:表示挂载磁盘 [from]:[to]
(4)25c5298b1a36:镜像id
(5) /bin/bash:进入容器时执行的命令

4.进入容器后,解压好运行的程序,然后编写设置环境变量的脚本,因为每次运行容器都要重新设置环境变量
(1)
$vi bashrc

export JAVA_HOME=/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

(2)编辑tomcat启动脚本:注意,不要执行tomcat/bin目录下的startup.sh,因为该脚本不会再前台持续运行,如果用该脚本启动tomcat会导致 在宿主机启动容器时,容器脚本执行完就关闭容器了。因为docker的机制,容器里面必须要有一个前台运行的程序。
所以要用tomcat/bin目录下的catalina.sh启动tomcat
$ vi run.sh

#!/bin/bash
source /bashrc
sh tomcat8/bin/catalina.sh run

(3)设置脚本权限:

$ chmod u+x /root/run.sh

5.可以现在容器内部测试一下能不能启动成功:

$ sh run.sh

6.退出容器

$ exit

7.查看容器运行记录,找到刚刚运行的容器id

$ docker ps -a

8.提交容器作为镜像

$ docker commit 57c312bbaad1 jenson/javaweb:0.1

9.查看本地镜像,会发现多了一个刚刚提交的镜像 并记住镜像REPOSITORY
这里写图片描述

10.启动镜像

$ docker run -d -p 58080:8080 jenson/javaweb03 /run.sh

(1)-p是端口映射 [宿主机端口]:[容器端口]

11.检查容器是否运行:

$ docker ps

这里写图片描述
12.浏览器访问 http://ip:58080 即可访问到tomcat主页

猜你喜欢

转载自blog.csdn.net/u010841296/article/details/53203977