Docker安装Tomcat

一、基于系统镜像,自己安装构建 Nginx的自定义镜像

使用上次添加SSH服务 ubuntu:18.04镜像作为基础镜像来构建。

Tomcat需要 JDK, 先从官网下载好 Tomcat和JDK,在Dockerfile中离线安装JDK和Tomcat。

1、创建上下文路径并准备工作

创建一个 tomcat_ubuntu 工作目录,在其中创建Dockerfile文件和run.sh 文件。

将  Tomcat和JDK压缩包解压,顺便改个名。没用的文件删除。

[root@centos7 tomcat_ubuntu]# ls
Dockerfile  jdk8  run.sh  tomcat8

2、编写 Dockerfile文件

[root@centos7 tomcat_ubuntu]# cat Dockerfile 
FROM sshd2:ubuntu
LABEL author="赵云"

# 设置环境变量,所有操作都是非交互式的
ENV DEBIAN_FRONTEND noninteractive

# 设置tomcat和jdk的环境变量
ENV CATALINA_HOME  /tomcat
ENV JAVA_HOME /jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

# 复制 tomcat8和jdk8文件到镜像中
COPY tomcat8 /tomcat
COPY jdk8 /jdk
COPY run.sh /run.sh

# 设置执行权限
RUN chmod +x  /*.sh
RUN chmod +x  /tomcat/bin/*.sh

#定义可以被挂载的目录,配置目录、日志目录和程序目录
VOLUME ["/tomcat/conf","/tomcat/logs","/tomcat/webapps/ROOT"] 

# 暴露端口
EXPOSE 8080
CMD ["/run.sh"]

3、编写 run.sh脚本

#!/bin/bash
/usr/sbin/sshd -D &
exec ${CATALINA_HOME}/bin/catalina.sh run

4、构建自定义镜像,创建并启动容器

[root@centos7 tomcat_ubuntu]# docker build -t tomcat:uv1 .
[root@centos7 tomcat_ubuntu]# docker run -d -p18080:8080 -p 10022:22 tomcat:uv1  
6bb687206d2d4d96b77300c0f0b665ad80a722f15b386cb1ed9a4ee08cdc901f
[root@centos7 tomcat_ubuntu]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                            NAMES
6bb687206d2d        tomcat:uv1          "/run.sh"                9 seconds ago       Up 8 seconds        0.0.0.0:10022->22/tcp, 0.0.0.0:18080->8080/tcp   great_williamson

浏览器访问:

 

在 /var/lib/docker/volumes路径下,可以查看创建的匿名数据卷,Docker会生成一个随机名称。


—— Stay Hungry. Stay Foolish. 求知若饥,虚心若愚。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值