Docker启动tomcat容器部署java web应用详细过程

1、由于docker拉取tomcat镜像速度非常慢,可以在网易云镜像中心获取镜像地址

Docker启动tomcat容器部署java web应用详细过程_第1张图片

docker pull hub.c.163.com/library/tomcat:latest

下载成功后,查看下载的tomcat镜像:

docker images

 

2、启动tomcat容器

命令格式:

docker run -dit -p本地端口:容器端口 -v 本地挂载目录:镜像挂载目录  镜像名称:镜像版本 /bin/sh

如果你的应用中需要某些host,需要在run时使用--add-host参数添加上host,方法:

docker run -it --name alpine-test1 --add-host=test.baidu.com:192.168.1.37 docker.io/alpine

如果此时不加host,需要使用vi命令修改host文件,并且重启容器时host会失效。纯净的容器要安装vi命令也非常耗时,需要先刷新所有的软件源,再安装vi命令,方法:

apt-get update
apt-get install vi

Docker启动tomcat容器部署java web应用详细过程_第2张图片

vim /etc/hosts

 

例如:

docker run -dit -p8081:8080 -v /data/tomcat:/usr/local/tomcat/webapps hub.c.163.com/library/tomcat:latest /bin/sh

查看docker 容器中的host:

cat /etc/hosts

Docker启动tomcat容器部署java web应用详细过程_第3张图片

在这个tomcat容器中,webapps目录在/usr/local/tomcat/webapps下,本地挂载了/data/tomcat这个文件夹,也就是本地/data/tomcat里的文件可以和容器里进行共享,之后可以把war包放到这个文件夹里。

-p8081:8080是把容器的8080端口和外部的端口建立映射关系,如果本机的8081端口被其他占用,可以选择杀死进程,或者改成其他没被占用的端口,tomcat容器的端口默认为8080,也就是后面的数字不要改。

查看端口有没有被占用:

netstat -anp |grep 端口号

查看tomcat容器:

Docker启动tomcat容器部署java web应用详细过程_第4张图片

 

使用rz命令把自己的war包上传到/data/tomcat中

cd /data/tomcat
rz

复制容器ID,进入tomcat容器:

docker exec -it efa8c70a022a /bin/sh

进入容器,如果出现按键盘【上、下、左、右、退格】出现类似,获取sudo权限

sudo su

3、重启tomcat

如果tomcat启动了,先关闭tomcat

cd /usr/local/tomcat/bin/
./shutdown.sh

如果没有启动,直接启动就行了

cd /usr/local/tomcat/bin/
./startup.sh

 追踪tomcat日志

tail -f /usr/local/tomcat/logs/catalina.out

4、访问页面

Docker启动tomcat容器部署java web应用详细过程_第5张图片

 

5、参考文章

在linux中使用docker部署java web服务

关于docker镜像拉取速度过慢的解决

Docker---(6)问题:bash: vi: command not found

ubuntu APT-GET工作原理

[Docker] 配置容器中的host

Docker安装Tomcat镜像并部署web项目

你可能感兴趣的:(docker)