• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    docker-compose基于MySQL8部署项目的实现
    POST TIME:2021-10-16 16:23

    1.首先按照以下的路径创建相应的文件夹

    /usr/local/docker/mysql
    

    2.然后在该目录下创建docker-compose.yml文件并且在文件中加入以下的配置

    version: '3.1'
    services:
     db:
      image: mysql
      restart: always
      environment:
       MYSQL_ROOT_PASSWORD: 123456
      command:
       --default-authentication-plugin=mysql_native_password
       --character-set-server=utf8mb4
       --collation-server=utf8mb4_general_ci
       --explicit_defaults_for_timestamp=true
       --lower_case_table_names=1
       --max_allowed_packet=128M;
      ports:
       - 3306:3306
      volumes:
       - ./data:/var/lib/mysql
    
     adminer:
      image: adminer
      restart: always
      ports:
       - 8080:8080

    3.按照以下的路径创建相应的文件夹

    /usr/local/docker/tomcat

    4.在该文件夹的目录下面创建一个docker-compose.yml并且填写相关的配置信息(由于这里的上面的宿主机的8080端口被占用所以这里只能改为其他的端口)

    version: '3.1'
    services:
     tomcat:
      restart: always
      image: tomcat
      container_name: tomcat
      ports:
       - 8082:8080
      volumes:
       - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
      environment:
       TZ: Asia/Shanghai

    注意: 创建的目录不同那么上面对应的 /usr/local/docker/tomcat目录就不能同

    5.如果没能启动那么可以直接用启动命令试试

    docker run -p 8082:8080 镜像id或者镜像名称
    

    6.在将项目上传到和tomcat的同级目录下面解压缩然后运行就可以实现部署

    说明:

    一个容器可以部署一个项目,那么是不是很奇怪,假如说我在同一台服务器上面部署了三个应用一个前端的UI一个后端的Admin,一个数据库MySQL,那么后端要管理前端的数据,而他们的配置文件docker-compose分别为以下

    admain 路径:/usr/local/docker/tomcat

    version: '3.1'
    services:
     tomcat:
      restart: always
      image: tomcat
      container_name: tomcat
      ports:
       - 8082:8080
      volumes:
       - /usr/local/docker/tomcat:/usr/local/tomcat/webapps/ROOT
      environment:
       TZ: Asia/Shanghai
    

    UI: /usr/local/docker/tomcat_ui

    version: '3.1'
    services:
     tomcat:
      restart: always
      image: tomcat
      container_name: tomcatui
      ports:
       - 8083:8080
      volumes:
       - /usr/local/docker/tomcat_ui:/usr/local/tomcat/webapps/ROOT
      environment:
       TZ: Asia/Shanghai~

    mysql 路径: /usr/local/docker/mysql

    docekr-compose的配置

    version: '3.1'
    services:
     db:
      image: mysql
      restart: always
      environment:
       MYSQL_ROOT_PASSWORD: 123456
      command:
       --default-authentication-plugin=mysql_native_password
       --character-set-server=utf8mb4
       --collation-server=utf8mb4_general_ci
       --explicit_defaults_for_timestamp=true
       --lower_case_table_names=1
      ports:
       - 3306:3306
      volumes:
       - ./data:/var/lib/mysql
    
     adminer:
      image: adminer
      restart: always
      ports:
       - 8080:8080

    后端管理前端的数据是如何做到的呢,其实者就要联系到你部署的项目了,项目里有配置一个数据连接配置如下

    # JDBC
    jdbc.driverClass=com.mysql.jdbc.Driver
    jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false
    jdbc.username=root
    jdbc.password=123456
    # JDBC Pool
    jdbc.pool.init=1
    jdbc.pool.minIdle=3
    jdbc.pool.maxActive=20
    # JDBC Test
    jdbc.testSql=SELECT 'x' FROM DUAL

    那么这里配置的jdbc.connectionURL=jdbc:mysql://192.168.206.128:3306/twg?useUnicode=true&characterEncoding=utf-8&useSSL=false就是关键了,其实就是通过这个ip来进行数据管理的。这个ip是mysql部署的服务器ip,那么部署的项目连接配置都是指向的这个ip,这样也就让后台获得了这个数据库的数据,直接管理了前台的数据。而且数据库可视化界面比如Navicat和SQLyog等用数据库部署的IP比如上面这个IP就可以轻松的对服务器数据库的数据进行方便的管理。

    如果需要停止某个服务,可以直接在对应那个服务的文件夹下和docker-compose同级的目录下面用docker-compose down 即可直接停止某个服务

    到此这篇关于docker-compose基于MySQL8部署项目的实现的文章就介绍到这了,更多相关docker-compose部署MySQL8内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:Nginx之Http模块系列之autoindex模块的具体使用
    下一篇:Docker常用命令详解
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信