| 
                        副标题[/!--empirenews.page--]
                         说明 
我们通过一个简单的示例来说明如何在Kubernets中部署一个应用, 
    - 一个Spring Boot项目提供数据库的增删改查操作
 
    - 一个Mysql数据库持久化数据
 
 
  
通过Eclipse构建一个Spring  Boot项目以下简称demo,其中连接mysql的property文件application-k8s.properties内容如下: 
- spring.datasource.url=jdbc:mysql://${MYSQL_SERVICE_HOST:127.0.0.1}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_DATABASE:demo} 
 - spring.datasource.username=${MYSQL_ROOT_USER:root} 
 - spring.datasource.password=${MYSQL_ROOT_PASSWORD:123456} 
 - spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 
 - spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect 
 -  
 - spring.jpa.database = MYSQL  
 - # Show or not log for each sql query  
 - spring.jpa.show-sql = true  
 - # Hibernate ddl auto (create, create-drop, update)  
 - spring.jpa.hibernate.ddl-auto = update 
 
  
我们通过环境变量来指定数据库的连接参数,其中: 
    - MYSQL_SERVICE_HOST:mysql的hostname或者IP地址
 
    - MYSQL_SERVICE_PORT:mysql的端口号
 
    - MYSQL_DATABASE:连接mysql的数据库名
 
    - MYSQL_ROOT_USER:mysql的root用户名
 
    - MYSQL_ROOT_PASSWORD:mysql的root用户名密码
 
 
将demo打包成jar文件,并且用Dockerfile制作成Docker Image上传到私有Registry。 
打包jar文件 
- mvn package -Dmaven.test.skip=true 
 - INFO] Scanning for projects... 
 - [INFO]  
 - [INFO] --------------------------< com.example:demo >-------------------------- 
 - [INFO] Building demo 0.0.1 
 - [INFO] --------------------------------[ jar ]--------------------------------- 
 - [INFO]  
 - [INFO] --- maven-resources-plugin:3.1.0:resources (default-resources) @ demo --- 
 - [INFO] Using 'UTF-8' encoding to copy filtered resources. 
 - [INFO] Copying 4 resources 
 - [INFO] Copying 0 resource 
 - [INFO]  
 - [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ demo --- 
 - [INFO] Nothing to compile - all classes are up to date 
 - [INFO]  
 - [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ demo --- 
 - [INFO] Not copying test resources 
 - [INFO]  
 - [INFO] --- maven-compiler-plugin:3.8.0:testCompile (default-testCompile) @ demo --- 
 - [INFO] Not compiling test sources 
 - [INFO]  
 - [INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ demo --- 
 - [INFO] Tests are skipped. 
 - [INFO]  
 - [INFO] --- maven-jar-plugin:3.1.1:jar (default-jar) @ demo --- 
 - [INFO] Building jar: /Users/xiaobaoqiang/workspace/demo/spring-boot/target/demo.jar 
 - [INFO]  
 - [INFO] --- spring-boot-maven-plugin:2.1.3.RELEASE:repackage (repackage) @ demo --- 
 - [INFO] Replacing main artifact with repackaged archive 
 - [INFO] ------------------------------------------------------------------------ 
 - [INFO] BUILD SUCCESS 
 - [INFO] ------------------------------------------------------------------------ 
 - [INFO] Total time: 1.731 s 
 - [INFO] Finished at: 2019-03-31T12:33:52+08:00 
 - [INFO] ------------------------------------------------------------------------ 
 
  
Dockerfile如下: 
- # base image 
 - FROM daocloud.io/java:8 
 -  
 - # MAINTAINER 
 - MAINTAINER xiaobaoqiang@163.com 
 -  
 - # add demo.jar to docker tmp folder 
 - ADD ./demo.jar /tmp 
 -  
 - # run demo.jar package 
 - CMD ["java", "-jar", "/tmp/demo.jar"] 
 -  
 - EXPOSE 9999 
 
  
                                                (编辑:91站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |