【tomcat】docker 安装部署 tomcat

1.拉取tomcat镜像

1.docker search tomcat
2.docker pull tomcat

2.运行tomcat镜像

docker run -d -p 8080:8080 --name mytomcat 
-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Djava.security.egd=file:/dev/./urandom" # 加快访问速度
-v /etc/localtime:/etc/localtime:ro # 解决docker容器与宿主机时间不一致问题
-v /home/docker/tomcat/conf:/usr/local/tomcat/conf # conf
-v /home/docker/tomcat/logs:/usr/local/tomcat/logs # logs
-v /home/docker/tomcat/webapps:/usr/local/tomcat/webapps # webapps
--privileged=true  # 开启最高权限
--restart=always   # 自启动
tomcat

以上命令是做一个详解,实际根据需求组合,例如:
docker run -d -p 8080:8080 \
-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Djava.security.egd=file:/dev/./urandom"  \
-v /home/docker/tomcat/webapps:/usr/local/tomcat/webapps \
--name mytomcat \
tomcat

或者:
docker run -d -p 8081:8080 \
-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai -Djava.security.egd=file:/dev/./urandom" \
-v /home/docker/tomcat/webapps:/usr/local/tomcat/webapps \
-v /home/docker/tomcat/conf:/usr/local/tomcat/conf \
-v /home/docker/tomcat/logs:/usr/local/tomcat/logs \
--name mytomcat2 tomcat

3.配置部署项目

 》复制容器中的数据或文件:

比如tomcat的配置文件就可以使用如下复制到挂载目录,以后修改就直接在挂载目录修改了

docker cp /home/docker/tomcat/test.war 197b1c1904a1:/usr/local/tomcat/webapps

 》进入容器:

docker exec -it <container_name> /bin/bash

》解决docker容器与宿主机时间不一致问题:
在启动容器时,把系统时间挂载到容器内,添加如下参数

-v /etc/localtime:/etc/localtime:ro // ro表示只读

》解决docker 容器与tomcat 应用打印日志时间不一致问题:
在tomcat/bin/catalina.sh文件中修改tomcat JAVA_OPTS,添加如下内容

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

在启动容器时,把系统时间挂载到容器内,如下两种方式:

-e JAVA_OPTS="-Duser.timezone=Asia/Shanghai"
-e TZ="Asia/Shanghai" 设置时区

》最后要注意宿主机端口问题,确保端口正常。切记docker在运行,改变防火墙状态,需要重启docker服务,否则出错。

 

注:

  • \ + 回车 :命令行多行输入
  • ctrl+u :删除命令行开始至光标处
  • ctrl+k :删除光标处至命令行结尾
  • ctrl+a :光标移动到最前面
  • ctrl+e :光标移动到最后面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值