您的位置:首页 > 运维架构 > Docker

如何在docker下的安装tomcat并部署JavaWeb项目

2017-11-03 23:58 766 查看

主要步骤

安装docker

卸载旧版本docker

如果centos系统中存在老版本的docker,可以先卸载掉旧版本的docker,再安装新版本docker。

yum remove docker docker-common docker-selinux

docker-engine

安装docker ce版

安装所需要的包

yum install -y yum-utils device-mapper-persistent-data lvm2

设置docker稳定版仓库

yum-config-manager –add-repo

https://download.docker.com/linux/centos/docker-ce.repo

安装docker ce

yum install docker-ce

启动docker

systemctl start docker

通过运行hello-world镜像来验证docker是否已成功安装

docker run hello-world

如果能看到Hello from Docker!就说明已经成功安装了docker

注意

以上命令的运行如果需要root权限,需要切换到root用户下,或者提升权限。


安装tomcat镜像

主要有两种方式来安装tomcat镜像,一种是在dockerhub中下载,另一种方式是先自己制作tomcat镜像,然后在在docker中运行tomcat镜像,本文为了简单处理采用dockerhub下载的tomcat镜像

搜索tomcat镜像

docker search tomcat

通过上述命令查找tomcat镜像,选择Apache的tomcat,一般搜索到的结果,Apache tomcat是排在第一个的。而后可以进行安装。

安装tomcat镜像

docker pull tomcat

查看安装的tomcat镜像

docker images

该命令回列出已经安装的tomcat镜像。

通过下载tomcat镜像启动一个tomcat容器

docker run -p 8080:8080 tomcat:latest

说明:

-p 表示端口号,前一个8080是指我们访问tomcat时的端口号,
后一个8080是tomcat启动的一个容器在docker中运行的端口号,
指定端口号为了更明确的访问tomcat。
tomcat:last last是指定的tomcat的标签,相同的镜像可以指定不同的标签以做区分。


查看运行的tomcat容器

docker ps

通过步骤4中创建的一个tomcat容器,这种运行方式是在屏幕上打印运行的实时日志的,可以重新打开一个ssh终端来查看此时运行的tomcat容器信息。如何在后台运行tomcat在后面的docker常用命令中会有说明。

验证tomcat容器

通过在浏览器中访问tomcat来查看启动的tomcat镜像是否可以正常运行,访问方式同一般机器下部署tomcat,即:http://ip:8080,根据自己ip地址情况。如我的测试地址是:http://192.168.93.128:8080

在tomcat镜像中部署javaweb项目

打包javaweb项目

像通常的javaweb项目部署一样,首先需要将javaweb项目打成war包,具体不再详述。

查看tomcat镜像启动的容器

docker ps

记录下tomcat镜像启动的容器的ID或容器名称。

将war包放入到docker下的tomcat中

首先你是需要把war包放入到centos系统中,本文中将一个test.war的项目放入centos系统的主目录,这个通过ssh工具就可以放到centos中,大家应该都很熟悉。从centos中将test.war移动到docker下tomcat镜像启动的容器中。

docker cp test.war containerID:/usr/local/tomcat/webapps/

说明:

containerID 是你所启动tomcat镜像的容器ID或者容器名称也可以。

这是将test.war放到tomcat的webapps下


验证部署的项目

因为容器已经启动,所以可以直接通过浏览器访问测试的项目即可,即:http://ip:8080/test/ 如我的访问地址为:http://192.168.93.128:8080/test 如果能查看到自己编写的测试页面证明已经成功将web项目放入到docker下的tomcat中。

docker常用命令

这里为了方便理解,就以tomcat镜像为例。一行语法说明,一行例子。

通过镜像产生一个容器

docker run -p port1:port2 containerName:tag

docker run -p 8080:8080 tomcat:latest

启动一个已有的容器

docker start containerID/containerName

docker start admiring_turing

其中admiring_turing是tomcat镜像创建的一个容器名称,也可以使用其容器ID

停止一个容器

docker stop containerID/containerName

docker stop admiring_turing

重启一个容器

docker restart containerID/containerName

docker restart admiring_turing

与一个已经启动的容器进行交互式操作

docker exec -i -t containnerID/containerName /bin/bash

docker exec -i -t admiring_turing /bin/bash

复制文件到容器中

docker cp src_path container:dest_path

docker cp /test.txt admiring_turing:/usr/local/

test.txt 是自己创建的一个测试文件,将文件复制到了容器的/usr/local目录下。

在后台运行一个容器

docker run -d -p image:tag

docker run -d -p tomcat:latest

了解更多内容:

https://docs.docker.com/engine/installation/linux/docker-ce/centos/#uninstall-old-versions

https://docs.docker.com/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  docker tomcat java web