通过Docker搭建Tomcat运行环境

1.下载centos镜像
docker pull centos

2.启动centos镜像的容器
先查看镜像的信息
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              e934aafc2206        2 weeks ago         199MB

3.启动容器
docker run -i -t -v  /root/software/:/mnt/software/ e934aafc2206 /bin/bash
该命令代表    
docker run <相关参数> <镜像 ID> <初始命令>
其中参数表示
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>

本例,将容器的/mnt/software/目录映射到本地的/root/software/目录

预先下载apache-tomcat-7.0.81.tar.gz  jdk-8u121-linux-x64.tar.gz到本地的/root/software/

现在在容器中命令行中进入 cd /mnt/software/ 目录,应该能看到
# ls
apache-tomcat-7.0.81.tar.gz  jdk-8u121-linux-x64.tar.gz

4.安装tomccat环境
在容器内部执行
cd /opt进入该目录
解压
# tar -zxf /mnt/software/jdk-8u121-linux-x64.tar.gz -C .  (-C . 指定当前目录)
# tar -zxf /mnt/software/apache-tomcat-7.0.81.tar.gz -C .
移动重命名目录
# mv jdk1.8.0_121/ /opt/jdk/
# mv apache-tomcat-7.0.81/ /opt/tomcat/

5.编写运行脚本
# touch /root/run.sh
# vi /root/run.sh

内容如下:
#!/bin/bash
export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH
sh /opt/tomcat/bin/catalina.sh run

7.退出容器
exit

8.查看所有容器
# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                           PORTS                     NAMES
d4e3a062ab05        e934                "/bin/bash"              38 minutes ago      Exited (0) About a minute ago                              lucid_einstein

9.创建新的tomcat镜像
# docker commit d4e3 mytomcat:1.0
sha256:c5ef8dacbf3eead5ea2b9fc3c1050a395863c6db0abd0eb7d6dee8ed46a31ffd
 
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mytomcat            1.0                 c5ef8dacbf3e        18 seconds ago      583MB
centos              latest              e934aafc2206        2 weeks ago         199MB

9.启动新创建镜像的容器
首先,新建/root/webapps/ROOT目录,
# cd /root
# mkdir webapps
# cd webapps/
# mkdir ROOT
# cd ROOT/
# vi index.html
并在该目录下创建一个index.html文件,文件内容如下:
<html>
<body>
<h1>Hello World!</h1>
</body>
</html

启动容器
# docker run -d -p 58080:8080 -v /root/webapps/:/opt/tomcat/webapps/ --name mytomcat_1 mytomcat:1.0 /root/run.sh
其中,相关参数包括:
-d:表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
-p:表示宿主机与容器的端口映射,此时将容器内部的 8080 端口映射为宿主机的 58080 端口,这样就向外界暴露了 58080 端口,可通过 Docker 网桥来访问容器内部的 8080 端口了。
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
--name:表示容器名称,用一个有意义的名称命名即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值