阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

90次阅读
没有评论

共计 1986 个字符,预计需要花费 5 分钟才能阅读完成。

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

一、安装 Tomcat
1、查找 Docker Hub 上的 tomcat 镜像
docker search tomcat

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

2、拉取官方的镜像
docker pull tomcat

Docker 安装 Tomcat 镜像并部署 web 项目
等待下载完毕,需要一些时间。

3、查看 docker 所有的镜像
docker images

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

4、启动 tomcat 镜像

注:前者是外围访问端口:后者是容器内部端口

docker run -d -p 8080:8080 tomcat

Docker 安装 Tomcat 镜像并部署 web 项目
注:前者是外围访问端口:后者是容器内部端口
如下命令可后台启动 tomcat
-d: 后台运行容器,并返回容器 ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

docker run –d -p 8080:8080 tomcat

Docker 安装 Tomcat 镜像并部署 web 项目
如下则启动成功:
Docker 安装 Tomcat 镜像并部署 web 项目

5、查看正在运行的容器
docker ps

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

二、向 Tomcat 部署自己的 web 项目
1、上传 war 包

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

2、创建并编辑”Dockerfile”,内容如下:
from tomcat #你的 tomcat 的镜像
MAINTAINER *********@163.com #作者
RUN rm -rf /usr/local/tomcat/webapps/*
COPY button.war /usr/local/tomcat/webapps #放置到 tomcat 的 webapps 目录下
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
3、生成新的镜像
docker build -t button:v1 .

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

4、启动新的镜像
docker run -d -p 8080:8080 button:v1

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

5、查看已启动镜像

可以加上参数 -itd 后台启动 tomcat,用以下方式查看已启动的镜像

docker ps

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

6、查看 tomcat 中的项目

可以使用如下命令进入 tomcat 镜像:

docker exec -it ******* /bin/bash #****** 是容器 id(CONTAINER_ID)

Docker 安装 Tomcat 镜像并部署 web 项目
当我们进入镜像后,想对某些参数进行修改时,一般需要安装文本编辑器,以 vim 为例:
由于下载地址是海外地址,下载速度非常慢而且可能出现中断,所以做如下配置:

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

然后更新

apt update

现在就可以安装我们需要的软件了,例如 vim

apt install vim
7、输入 ip 和端口进行查看

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

8、可以查看指定容器的 log
docker logs -f 容器 id

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

9、部署 web 项目后也许会出现 docker 容器与宿主、docker 容器与 tomcat 应用打印日志时间和我们当前时间相差 8 个小时,可以添加如下配置:

①启动容器时,将系统时间挂载到容器内,可以解决 docker 容器与宿主时间不一致问题,如下所示:
添加参数

-v /etc/localtime:/etc/localtime:ro

完整命令如下示例:

sudo docker run -d --name button-api -p 8080:8080 -v /etc/localtime:/etc/localtime:ro button-api:v1

②docker 容器与 tomcat 应用打印日志时间不一致
启动 tomcat 容器后进入 tomcat 的”bin”目录,修改 catalina.sh 文件
在注释结束的第一行添加如下内容:

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"

如下图所示:

Docker 安装 Tomcat 镜像并部署 web 项目
修改保存后重启 docker 容器就可以了。
重启方法:
docker ps”查询容器 id,使用如下命令重启:

docker restart 容器 id

到此即可解决该问题。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1986字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中