• Docker部署JavaWeb应用


    目录

    🧡拉取镜像

    🧡安装相关组件

    🧡部署应用

    🧡顺利运行


    💟这里是CS大白话专场,让枯燥的学习变得有趣!

    💟没有对象不要怕,我们new一个出来,每天对ta说不尽情话!

    💟好记性不如烂键盘,自己总结不如收藏别人!

    💌本篇讲解如何在Docker中运行一个JavaWeb应用(魔改牛客网的项目)~~

    🧡拉取镜像

    💌一开始想直接用tomcat镜像部署的,但是在tomcat里安装其他组件出了很多问题,因此直接拉取centos镜像构建一个小型centos系统,访问端口为8080。拉镜像的命令之前已经讲过啦,可以看往期博客~

      

    🧡安装相关组件

    💌进入centos系统安装如下需要的组件:

    🍠JRE

    1. yum install -y java-1.8.0-openjdk.x86_64
    2. yum install -y java-devel

     🍠Maven:也可以本地下载完复制进去,记得修改环境变量。

    1. wget -i -c https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    2. tar -zvxf apache-maven-3.6.3-bin.tar.gz -C /opt
    3. vim /etc/profile
    4. export PATH=$PATH:/opt/apache-maven-3.6.3/bin
    5. source /etc/profile

     修改 Maven 镜像:

    1. cd /opt
    2. cd apache-maven-3.6.1/
    3. cd conf
    4. vim settings.xml
    5. <mirror>
    6. <id>alimavenid>
    7. <name>aliyun mavenname>
    8. <url>http://maven.aliyun.com/nexus/content/groups/public/url>
    9. <mirrorOf>*mirrorOf>
    10. mirror>

    🍠MySQL:docker对镜像做了一些隔离和限制,在centos镜像构建的容器内安装不了MySQL,因此我们又拉取了mysql的镜像将数据库分离出来,开放3306端口使其可以外部访问,在mysql容器内进行如下操作:

    1. systemctl start mysqld.service
    2. grep "password" /var/log/mysqld.log //查询root密码
    3. mysql -uroot -p
    4. //修改密码
    5. mysql> set global validate_password_policy=0;
    6. mysql> set global validate_password_length=1;
    7. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

    之后将数据库文件复制到mysql容器内就可以使用啦!可以用Navicat测试一下~

    🍠Redis

    1. yum install -y redis.x86_64
    2. systemctl start redis
    3. systemctl status redis

     🍠Kafka

    1. wget -i -c https://mirrors.bfsu.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz
    2. tar -zvxf kafka_2.13-2.7.0.tgz -C /opt
    3. cd /opt
    4. cd kafka_2.13-2.7.0/
    5. bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
    6. nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &

     🍠Elasticsearch

    1. wget -i -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz
    2. tar -zvxf elasticsearch-6.4.3.tar.gz -C /opt
    3. wget -i -c https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip
    4. unzip -d /opt/elasticsearch-6.4.3/plugins/ik elasticsearch-analysis-ik-6.4.3.zip
    5. cd /opt
    6. cd elasticsearch-6.4.3/
    7. cd config/
    8. vim elasticsearch.yml

    1. vim jvm.options //修改内存占用
    2. -Xms236m
    3. -Xmx512m
    4. //创建一个普通用户,并赋予相关权限
    5. cd /opt/elasticsearch-6.4.3/
    6. cd config/
    7. groupadd normal
    8. useradd normal1 -p 123456 -g normal
    9. cd /opt
    10. chown -R normal1:normal *
    11. cd /tmp
    12. chown -R normal1:echoer *
    13. //启动
    14. su - normal1
    15. cd /opt/elasticsearch-6.4.3/
    16. bin/elasticsearch -d
    17. //测试
    18. su - // 切回root用户
    19. curl -X GET "localhost:9200/_cat/health?v"

    🍠Tomcat

    1. wget -i -c https://downloads.apache.org/tomcat/tomcat-9/v9.0.41/bin/apache-tomcat-9.0.41.tar.gz
    2. tar -zvxf apache-tomcat-9.0.41.tar.gz -C /opt
    3. vim /etc/profile
    4. export PATH=$PATH:/opt/apache-tomcat-9.0.41/bin
    5. source /etc/profile
    6. startup.sh

     🍠Nginx

    1. yum install -y nginx.x86_64
    2. vim /etc/nginx/nginx.conf //配置服务器地址
    3. systemctl start nginx

    🧡部署应用

    💌修改程序中相关地址:

     💌把 Tomcat 自带的项目删了,然后将要部署的JavaWeb应用打包成名为ROOT的war包,然后将ROOT.war复制到tomcat安装路径下的webapps文件夹中。复制完需要重新启动一下Tomcat!

    1. shutdown.sh
    2. startup.sh

    🧡顺利运行

    💌可以看到两个容器都正常运行啦~

    💌通过服务器地址也能正常访问~

  • 相关阅读:
    TypeScript 类的使用、泛型与其他补充类型
    【C刷题】day6
    [JS真好玩] 掘金创作者必备: 监控每天是谁取关了你?
    《算法竞赛进阶指南》,USACO2007 牛站
    部署LVS-DR群集
    【Linux|树莓派】分文件编程以及静态库动态库
    Django REST Framework API和RESTful接口规范
    关闭bitlocker加密
    云原生周刊:Helm Charts 深入探究 | 2024.3.11
    AD20基本原理图的设计
  • 原文地址:https://blog.csdn.net/qq_41847894/article/details/127676208