在docker中搭建apache Tomcat+JDK环境

来源:互联网 发布:linux中locate命令 编辑:程序博客网 时间:2024/06/11 21:01
  • 本人电脑环境:安装好docker的open SUSE操作系统
  • 最终的docker镜像:ubuntu+tomcat+jdk

运行ubuntu镜像

sudo docker run -it -v /home/liangyh/tmp/software:/mnt/software/ ubuntu:latest /bin/bash

-v:表示增加一个卷,前面的地址是本机文件系统的地址,后面那个是docker容器中ubuntu操作系统的文件系统地址
-it:i表示交互的意思,t表示tty。用于启动一个linux交互页面。

使用另一个本地主机的cmd窗口把tomcat和jdk软件包cp到/home/liangyh/hmp/software中。这样就可以在docker容器中的/mnt/software文件夹下面访问这两个文件了。

root@dab53dc8c8af:/# cd root/root@dab53dc8c8af:~# tar -zxf /mnt/software/jdk-7u80-linux-x64.gz root@dab53dc8c8af:~# tar -zxf /mnt/software/apache-tomcat-8.0.32.tar.gz root@dab53dc8c8af:~# lsapache-tomcat-8.0.32  jdk1.7.0_80

分别建立文件夹的软链接,方便操作。

root@dab53dc8c8af:~# ln -s /root/apache-tomcat-8.0.32 tomcatroot@dab53dc8c8af:~# ln -s /root/jdk1.7.0_80 jdkroot@dab53dc8c8af:~# lsapache-tomcat-8.0.32  jdk  jdk1.7.0_80  tomcat

我们还需要配置jdk的path环境,为了方便,我们直接在脚本中使用export,而不是在~/.profile中添加。另一个选择这样做的原因是ubuntu镜像默认没有vim或者vi编辑器,无法编辑文件。

在本地主机上面建立一个run.sh文件,内容如下所示,并放在/home/liangyh/tmp/software下面。在容器中,

root@dab53dc8c8af:~# cp /mnt/software/run.sh /root/root@dab53dc8c8af:~# chmod +x run.sh

run.sh文件内容:

#!/bin/bashexport JAVA_HOME=/root/jdkexport PATH=$JAVA_HOME/bin:$PATHsh /root/tomcat/bin/catalina.sh run

index.html:

<html><body><h2>hello world</h2></body></html>

编辑好index.html文件,把它放在/home/liangyh/tmp/software/webapps/test/目录下面(webapps这个名字是随意的)

先离开ubuntu容器交互界面:

exit

提交容器编程一个镜像

sudo docker commit dab53dc8c8af mytomcat:1

启动新提交的镜像,在启动的时候执行run.sh脚本,启动tomcat。

sudo docker run -d -p 8080:8080 -v /home/liangyh/tmp/software/webapps/:/root/tomcat/webapps –name mytomcat mytomcat:1 /root/run.sh

这样之后,在容器中/root/tomcat/webapps/目录下面就有test这个文件夹。在本地浏览器中使用localhost:8080/test/index.html就可以访问容器中的tomcat了。

总结:
本实践的总体思路是:
- 运行一个ubuntu操作系统镜像,通过volume挂载文件的方式把本地的两个安装包cp到容器中。
- 使用脚本的方式暴露jdk的path路径和启动tomcat。
- 使用volume的方式挂载index.html文件到容器相应的位置,使得tomcat能够访问到。

0 0
原创粉丝点击