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

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 


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:

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

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

 

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

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容器名称

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 

 

 

 

 

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821先生成Dockerfile镜像文件

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 

 

4、执行docker-compose up

###先安装mysql

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

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

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 解决方法如下

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

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

 

生成 web、mysql容器如下

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

注: 容器编排技术 docker compose  部springboot项目(mysql) 20210821 生成mysql容器的test库的数据表为空,需要手工同步一下

 

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 

 

5、浏览器访问容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

http://192.168.254.128:38000/mayikt/list

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 

 

6、其他

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

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 容器编排技术 docker compose  部springboot项目(mysql) 20210821

 

 

 

 

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

 

相关文章: