zoukankan      html  css  js  c++  java
  • 容器编排技术 docker compose 部springboot项目(mysql) 20210821

    ############springboot 项目 实例
    ############mysql ######################
    ################################################


    1、springboot 项目 docker-compose.yml###内容如下

    version: "3.0" #定义compose 版本号
      services: ##服务,每个服务实际上就是一个独立容器运行
        mysql: ##mysql服务
          ##container_name: mayikt007_tomcat8080_1 ##容器名称
          command: --default-authentication-plugin=mysql_native_password ##解决外部无法访问
          image: mysql:5.7 #
          ports:
            - 3306:3306 #容器端口映射到宿主机端口
          environment:
            MYSQL_ROOT_PASSWORD: 'root'
            MYSQL_PASSWORD_EMPTY_PASSWORD: 'no'
            MYSQL_DATABASE: 'test'
            MYSQL_USER: 'mayikt'
            MYSQL_PASSWORD: 'mayikt'
          networks: ###定位服务的桥
            - mayikt_web


        mayikt_web: ##自己单独的springboot项目
          hostname: mayikt
          build: ./ #需要构建的Dokcerfile文件
          ports:
          - 38000:8080 #容器端口映射到宿主机端口
          depends_on: #web服务依赖mysql服务,需要mysql服务先启动
            - mysql
          networks: ###定位服务的桥
            - mayikt_web
      networks: ###定位服务的桥
        mayikt_web:

     

    2、springboot 项目 先打包为镜像文件mayikt
      #######Dokcerfile###内容如下

      ##基础镜像使用java
      FROM java:8
      ##自己定制的镜像文件作者
      MAINTAINER www.mayikt.com

      ##VOLUME 用于指定临时文件且目录为/tmp
      ##其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
      VOLUME /tmp

      #将jar包 添加到容器中并更名为mayikt.jar
      ADD mayikt-springboot-0.0.1-SNAPSHOT.jar mayikt.jar

      #运行jar包
      RUN bash -c 'touch /mayikt.jar'

      ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/mayikt.jar"]

      ###暴露端口8080
      EXPOSE 8080

     

     

     

    3、springboot 项目
      docker-compose.yml,Dokcerfile,mayikt-springboot-0.0.1-SNAPSHOT.jar
      上传到 宿主机目录 /usr/mayikt007/
      ######
      #####jdbc:mysql://mysql:3306/test?useUnicode=true&characterEncoding=utf8
      #####mysql为mysql容器名称

     

     

     先生成Dockerfile镜像文件

     

    4、执行docker-compose up

    ###先安装mysql

     

     注:docker-compose up 提示如下错识

     

     解决方法如下

     

     https://blog.csdn.net/robin90814/article/details/118188731

    生成 web、mysql容器如下

    注:  生成mysql容器的test库的数据表为空,需要手工同步一下

    5、浏览器访问

    http://192.168.254.128:38000/mayikt/list

    6、其他

      springboot 项目Dockerfile可以先生成镜像 ,再docker-compose up

     

     

     

    参考  https://www.cnblogs.com/niun/articles/14626836.html

  • 相关阅读:
    自己实现 一个 Vue框架,包含了Vue的核心原理
    Vue-Cli 3.0 中配置高德地图的两种方式
    element-ui table 点击某行高亮(修改背景色)
    input type="file"获取文件名方法
    使用 http-proxy-middleware 做转发, post 请求转发失败
    core-js@2 core-js@3报错问题
    VUE判断当前设备是PC还是移动端
    Vue函数式组件 简单实现
    清明节哀悼日网页变黑白色的CSS代码
    Vue实现递归menu
  • 原文地址:https://www.cnblogs.com/smallfa/p/15170397.html
Copyright © 2011-2022 走看看