Docker 部署 tomcat 以及简单的web应用

背景:
通过swagger写了一个API demo,一个简单的项目,没必要放在公司的服务器上
所以想通过阿里云服务器部署
既然是一个简单的demo 自然用docker部署最好不过了,记录一下部署的过程
本文不介绍docker安装过程

一. 构建镜像
项目是在本人笔记本上,需要构建镜像,然后推送至 hub.c.163.com 的镜像上
首先搜索tomcat镜像

docker search tomcat    

Docker 部署 tomcat 以及简单的web应用_第1张图片
拉取最新的tomcat

docker pull tomcat

查看自己的镜像

docker images 

在这里插入图片描述
然后可以使用docker运行镜像

docker run -d -p 8080:8080 tomcat

-d 表示后台运行
-p 指定端口

可以访问试试。
Docker 部署 tomcat 以及简单的web应用_第2张图片
看到了熟悉的页面。。
通过

docker ps 

查看进程信息
在这里插入图片描述
也可以进到容器内看看

docker exec -it b461f3b9e7c6 /bin/bash

查看webapps具体路径
在这里插入图片描述

可以通过

docker cp umsdemo.war b461f3b9e7c6:/usr/local/tomcat/webapps

将war 拷贝至容器即可
Docker 部署 tomcat 以及简单的web应用_第3张图片

这样可以运行,但是每次重启都得将war包拷贝至容器内,很麻烦

所以可以将war一起构建成镜像

写一个Dockerfile 如图
Docker 部署 tomcat 以及简单的web应用_第4张图片

构建镜像

docker build -t hub.c.163.com/q527801201/umsdemo .

由于要推送至 hub.c.163.com 所以取这个名字
在这里插入图片描述

可以看到该镜像
登录hub.c.163.com
在这里插入图片描述

docker push hub.c.163.com/q527801201/umsdemo

即可推送至网易云镜像仓库
Docker 部署 tomcat 以及简单的web应用_第5张图片

二.登录阿里云服务器,运行镜像
首先也要登录
Docker 部署 tomcat 以及简单的web应用_第6张图片

然后拉取镜像

docker pull hub.c.163.com/q527801201/umsdemo:latest

在这里插入图片描述

最后运行即可

docker run -d -p 8080:8080 hub.c.163.com/q527801201/umsdemo

阿里云服务器开通对外的8080端口
可以访问
Docker 部署 tomcat 以及简单的web应用_第7张图片

解决时区问题,运行时发现docker内时间比正常时间早八个小时,这是时区的问题,启动时加如下参数

-e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime
即:
docker run -d -p 8080:8080 -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime hub.c.163.com/q527801201/umsdemo

你可能感兴趣的:(Docker,Docker)