docker搭建(封装自定义的tomcat jdk版本)

准备工作

  • 一台4G内存的centos7虚拟机
  • tomcat下载地址: https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.8/bin/apache-tomcat-8.0.8.tar.gz
  • jdk下载地址: https://cola-yunos-1305721388.cos.ap-guangzhou.myqcloud.com/20210813/jdk-8u401-linux-x64.tar.gz

安装docker

  • 使用阿里云镜像安装docker

    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
    
  • 配置docker仓库为阿里云

    yum-config-manager     --add-repo     https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 安装最新版docker

    yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    
  • 启动docker并设置开机自启动

    systemctl start docker && systemctl enable docker
    

封装镜像

  • 构建基础镜像

    docker pull centos
    
  • 使用xftp上传tomcat和jdk

    image-20240509091656635

  • 改名

    mv apache-tomcat-8.0.8.tar.gz tomcat.tar.gz && mv jdk-8u401-linux-x64.tar.gz jdk.tar.gz
    
  • 创建脚本文件

    mkdir ~/bin && vi ~/bin/run.sh
    
    #!/bin/bash
    sh /opt/tomcat/bin/catalina.sh run
    
  • 赋权

    chmod -R 777 ~/bin/run.sh
    
  • 创建文件

    touch /opt/readme.txt && touch /opt/Dockerfile
    
  • 编写Dockerfile

    cd /opt/ && vi Dockerfile
    
    FROM centos
    MAINTAINER cola<cola_pp@163.com>
    
    # 把宿主机当前上下文的readme.txt拷贝到容器/usr/local/路径下
    # 并把readme.txt文件重命名cincontainer.txt文件
    COPY readme.txt /usr/local/cincontainer.txt
    
    # 把宿主机当前上下文的(也就是当前目录)java与tomcat安装包添加到容器中
    ADD tomcat.tar.gz /usr/local/
    ADD jdk.tar.gz /usr/local/
    
    # 设置工作访问时候的MORKDIR路径,登录DE 落脚点
    ENV MYPATH /usr/local
    WORKDIR $MYPATH
    
    # 配置java与tomcat环境变量
    # 配置java环境
    ENV JAVA_HOME /usr/local/jdk1.8.0_401
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 通过冒号隔开
    # 配置tomcat环境
    ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.8
    ENV CATALINA_BASE /usr/local/apache-tomcat-8.0.8
    # 把上面配置的环境放入到PATH环境变量中
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    
    # 容器运行时监听的端口(暴露端口)
    EXPOSE 8080
    
    # 启动时运行tomcat
    # ENTRYPOINT ["/usr/local/tomcat/bin/startup.sh"]
    # CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
    CMD /usr/local/apache-tomcat-8.0.8/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.0.8/bin/logs/catalina.out
    # && 表示拼接下一条命令,可以无线的拼接。
    
  • 构建镜像

    docker build -t mytomcat .
    
  • 运行docker镜像

    docker run -p 9090:8080 --name colatomcat -v /home/mydockerfile/tomcat8/test:/usr/local/tomcat/webapps/test -v /home/mydockerfile/tomcat8/tomcatlogs:/usr/local/tomcat/logs --privileged=true -d mytomcat
    
  • 浏览器访问tomcat

    http://192.168.111.129:9090/
    

    image-20240509095542663

    构建完成

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是使用 Docker 搭建 Nginx 和 Tomcat 的步骤: 1. 安装 Docker,可参考官方文档进行安装。 2. 下载 Nginx 和 TomcatDocker 镜像,执行以下命令: ``` docker pull nginx docker pull tomcat ``` 3. 创建一个 Docker 网络,让 Nginx 和 Tomcat 可以相互通信,执行以下命令: ``` docker network create mynetwork ``` 4. 创建一个 Nginx 容器,执行以下命令: ``` docker run --name nginx -d -p 80:80 --network mynetwork nginx ``` `--name` 指定容器名称为 nginx,`-d` 后台运行,`-p` 将容器的80端口映射到主机的80端口,`--network` 指定容器所在的网络为 mynetwork。 5. 创建一个 Tomcat 容器,执行以下命令: ``` docker run --name tomcat -d -p 8080:8080 --network mynetwork tomcat ``` `--name` 指定容器名称为 tomcat,`-d` 后台运行,`-p` 将容器的8080端口映射到主机的8080端口,`--network` 指定容器所在的网络为 mynetwork。 6. 配置 Nginx,将请求转发给 Tomcat,执行以下命令: ``` docker exec -it nginx bash echo "server { listen 80; location / { proxy_pass http://tomcat:8080/; } }" > /etc/nginx/conf.d/default.conf nginx -s reload exit ``` `docker exec -it` 进入 nginx 容器,`echo` 命令将配置写入 Nginx 的默认配置文件,`nginx -s reload` 重新加载配置文件使其生效。 7. 访问 http://localhost 可以看到 Nginx 的欢迎页面,访问 http://localhost:8080 可以看到 Tomcat 的欢迎页面。 至此,Nginx 和 TomcatDocker 集成环境搭建完成。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值