Docker commit 搭建 Tomcat 运行环境

本文参考于 http://www.cnblogs.com/itech/p/5220122.html 进行的更改,更便于自己理解,刚开始不懂linux 脚本 ,不懂docker 的菜鸟,掉了很多坑 。终于慢慢的前进了一点 。

其它的就不多说了,记录下搭建的过程 。

1、准备工作

需要准备的:
1: linux ubuntu 系统(CentOS 也可以,对下面操作不会有影响);
2: 安装好了docker ,可以参考http://blog.csdn.net/u013092590/article/details/52861978
下载ubuntu 镜像 。安装好docker 后执行命令: docker pull ubuntu

2、下载jdk 、tomcat 到宿主机器

sudo su 
mkdir /root/software
cd /root/software

#download jdk 1.7.67
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz

#download apache-tomcat-7.0.72
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.72/bin/apache-tomcat-7.0.72.tar.gz

3、启动容器

 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态的容器重新启动。
 这里我们基于ubuntu 镜像启动一个容器 :
  docker run -i -t -v /root/software/:/mnt/software/ 88f7 /bin/bash
 命令包含以下三个部分:

 docker run <相关参数> <镜像 ID> <初始命令> 。

 其中,相关参数包括:
 -i:表示以“交互模式”运行容器 ;
 -t:表示容器启动后会进入其命令行 ;
 -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录> ;
 88f7 : ubuntu 镜像id (images id 全部写出来也行) 。
执行命令
  cd  /mnt/software/    
  ls  
看到下面文件
 jdk-7u67-linux-x64.tar.gz
 apache-tomcat-7.0.72.tar.gz

4、容器种安装tomcat 、jdk

  java web 环境,是需要jdk 和 tomcat . 

4.1、 安装 jdk 、 tomcat

cd mnt/software
tar -xvf jdk-7u67-linux-x64.tar.gz
tar -xvf apache-tomcat-7.0.72.tar.gz
cd ../..
mv mnt/software/jdk1.7.0_67 /opt/jdk/
mv mnt/software/apache-tomcat-7.0.72 /opt/tomcat/

5、安装 vim

apt-get update
apt-get install vim

6 、编写运行脚本
编写运行脚本,当启动容器的时候,启动tomcat .

touch run.sh
vim /root/run.sh

脚本run.sh 的内容为 :

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

脚本编写完后,添加运行权限

chmod u+x /root/run.sh

7、退出容器
执行exit 退出容器 。 查看当前所有容器

docker ps -a

显示
这里写图片描述

8、创建tomcat 镜像
根据上面的容器 id 创建tomcat 镜像 。

docker commit 02be mytomcat:1.0
65c88ec597e04812ec3b06b7749578bebcae3aa3d735b565ed25db6818d9d7f3

查看创建的镜像 :

docker images

这里写图片描述

9、启动tomcat
为了看效果 ,我们新建/root/webapps/ROOT/index.html ,内容如下 :

<html>
<body>
<h2>Hello World!</h2>
</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:表示容器名称,用一个有意义的名称命名即可。

tomcat 启动之后 ,在浏览器输入: http://宿主ip:58080 ,访问 ,界面显示
Hello World!

当然,这时候我们也可以把 java web 应用.war 放到 /root/webapps/目录下 ,停止容器在重启,就可以看到 java web 程序 ,但目前 还不能连数据库 。

说明几个问题 :

1 、 jdk 、tomcat 都是安装的容器中的 ,不是安装在宿主机器 。
2 、完全按步骤来是能搭建成功的 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值