dockerfile制作tomcat镜像及失败排查思路

1.基于centos镜像制作,先搜索centos

docker search centos

2.下载centos镜像 

docker pull centos

3.查看镜像是否成功下载,复制

docker images |grep centos

4.将tomcat,jdk上传至服务器并解压

cd /data
mkdir docker 
tar -zxvf apache-tomcat-8.5.55.tar.gz 
tar -zxvf jdk-8u201-linux-i586.tar.gz 

5.编写dockerfile文件,该文件主要分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令,具体命令可参考https://docs.docker.com/engine/reference/builder/

#基于镜像id,第三步时的IMAGE ID 
FROM 300e315adb2f
#作者
MAINTAINER shaofei_huai
#镜像最后更新时间
ENV REFRESHED_AT 2021-07-27
#切换到/目录下
WORKDIR /
#创建java及tomcat目录
RUN mkdir /data
RUN mkdir /data/java
RUN mkdir /data/tomcat
#将宿主机文件拷贝到容器中,使用add命令如果宿主机为压缩文件会自动解压
ADD /apache-tomcat-8.5.55/  /data/tomcat
ADD /jdk1.8.0_201/  /data/java
#配置环境变量
ENV JAVA_HOME /data/java
ENV PATH $JAVE_HOME/bin:$PATH
ENV CLASSPATH $:CLASSPATH:$JAVA_HOME/lib/
#启动命令
ENTRYPOINT /data/tomcat/bin/startup.sh && tail -f /data/tomcat/logs/catalina.out
#设置端口
EXPOSE 8080

6.制作docker镜像指定镜像名为centos7/tomcat,版本为1.0.0

docker build -t centos7/tomcat:1.0.0 .

7.查看镜像是否制作成功

docker images |grep centos7

8.启动镜像

docker run -d -p 8080:8080 7da604801bea

9.验证是否启动成功

docker ps

如果成功可以通过ip:8080访问

10.启动失败排查

获取启动失败CONTAINER ID:docker ps -a 
查看启动日志:docker logs  CONTAINER ID  

如果日志看不出来,考虑是否环境变量配置错误,使用docker exec  CONTAINER ID env

如果日志和环境变量都看不出问题可以删除镜像:docker rmi -f IMAGE ID
编辑dockerfile:vim dockerfile
注释启动命令
#ENTRYPOINT /data/tomcat/bin/startup.sh && tail -f /data/tomcat/logs/catalina.out
重新打包镜像:docker build -t centos7/tomcat:1.0.1 .
打包完成后通过:docker images |grep centos7/tomcat 搜索IMAGE ID
启动容器:docker run -itd IMAGE ID bash 
查询容器id: docker ps 
进入容器:docket exec -it CONTAINER ID bash 后手动启动tomcat排查问题
特别需要注意下java安装包是32位还是64位,有些64位镜像不支持32位安装包,会提示
/data/tomcat/bin/catalina.sh: line 484: /data/java/bin/java: No such file or directory
centos 可通过 getconf LONG_BIT查看系统位数

11.挂载磁盘

新建挂载路径/data/tomcat8080
mkdir tomcat8080
上传war包到tomcat8080下
使用--volume挂载启动
docker run -d --volume /data/tomcat8080:/data/tomcat/webapps -p8080:8080 7da604801bea

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值