docker使用容器配置tomcat

606 查看

目标:在本机上安装docker,添加容器,在容器中部署tomcat,从外网可以访问即可
配置环境ubuntu14.04

一、安装docker

1、Ubuntu14.04自带安装包,该版本比较旧,从Docker官方源安装最新的版本,首先需要安装apt-transport-https,并添加Docker官方源。

安装apt-transport-https 插件,一般情况下系统都会有该插件

    $sudo apt-get install apt-transport-https 

给替换的源授权

    $sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 

替换官网上的docker源

    $sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" 

更新源

    $sudo apt-get update 

安装docker

    $sudo apt-get install -y lxc-docker

输入命名查看是否安装成功,显示如下所示,即安装成功

    $sudo docker version    

二、安装成功后,启动一个容器

首先下载一个镜像,镜像为ubuntu 14.04,查看镜像使用docker images命令

下载镜像

$sudo docker pull ubuntu:14.04

查看镜像,如下所示,TAG为14.04即为刚刚下载的镜像

$sudo docker images

启动刚刚下载的镜像

$sudo docker run -t -i ubuntu:14.04 /bin/bash

查看刚刚启动的镜像,即正在运行的容器的id

$sudo docker ps

获得刚刚启动的容器ID为f7a20304e55b

三、配置容器中的tomcat环境

通过docker的cp命令,把主机上已经下好的jdk以及tomcat传送到容器中, cp命令的两种方式:
1、从主机cp到容器中(containerId即为刚刚启动正在运行的容器Id)

 $sudo docker cp /host-path/file <containerId>:/containter-path         

2、从容器中cp到主机

 $sudo docker cp <containerId>:/containter-path/file /host-path  

这样把需要环境传入容器中,由于此部署只需要链接内部的tomcat,所以只需要传输jdk以及tomcat文件,jdk部署在/usr/local/jdk1.8.0_60/,
配置环境变量
打开以下文件

$vi ~/.bashrc

加入要配置的环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_60
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

修改完环境变量之后,使用source命令使.bashrc文件生效

$source ~/.bashrc

在任意目录下解压下载的tomcat.tar,
此时容器配置完毕
把修改后的容器进行版本提交(containerId为刚刚启动的容器id)

$sudo docker commit -m "含有tomcat的版本" -a tomcat <containerId> ubuntu:v6

提交之后我们会看到在docker的镜像里有新建的v6镜像

四、映射对外访问端口

使用以下命令对端口进行映射 58080为主机的端口,8080为tomcat的端口,相当于把容器内部的端口映射到主机的端口中,这样通过外部即可访问容器的tomcat

$sudo docker run -p -t -i 58080:8080 --name javaweb ubuntu/14.04:v6

这样进入到容器内部,对容器进行启动,我们的tomcat放在/usr/local/tomcat下

$cd /usr/local/tomcat/bin/

启动tomcat

$sh startup.sh

启动完毕,进行访问

五、外部访问

我们外部的主机地址为http://192.168.5.27,则加入端口58080,显示如下

成功!!!!!!!!