在Docker中开发Java 8 Spring Boot应用程序的方法
在本文中,我将向您展示如何使用java 8开发和运行简单的spring web应用程序,而无需在本地计算机上安装java 8。
python开发人员使用虚拟环境为不同项目创建和管理单独的环境,每个环境使用不同版本的python来执行,存储和解析python依赖项。java和许多其他技术不支持虚拟环境概念。在这一点上,docker来帮助我们。
docker是一个虚拟化平台。您可以从docker官方网站上找到基本信息和安装指南。
一旦安装了docker工具箱,就不需要安装我们的示例应用程序中所需的java 8或mysql。
首先,让我们检查一下docker-compose
文件:
version : '2' services: springappserver: build: context: . dockerfile: springapp.dockerfile ports: - "8080:8080" networks: - net-spring-db volumes: - .:/vol/development depends_on: - mysqldbserver mysqldbserver: build: context: . dockerfile: mysqldb.dockerfile ports: - "3306:3306" networks: - net-spring-db environment: mysql_database: testdb mysql_user: myuser mysql_password: mypassword mysql_root_password: myrootpassword container_name: mysqldbserver networks: net-spring-db: driver: bridge
我们在'net-spring-db'上分别有两台服务器。第一个名为'springappserver',并使用springapp.dockerfile
配置。第二个命名为mysqldbserver,并使用mysqldb.dockerfile
进行配置。
现在,让我们看一下springapp.dockerfile:
# # java 1.8 & maven dockerfile # # # pull base image. from java:8 # maintainer maintainer dursun koc "dursunkoc@gmail.com" # update packages and install maven run \ export debian_frontend=noninteractive && \ sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list && \ apt-get update && \ apt-get -y upgrade && \ apt-get install -y vim wget curl maven # attach volumes volume /vol/development # create working directory run mkdir -p /vol/development workdir /vol/development # maven exec cmd ["mvn", "clean", "package", "exec:java"]
docker文件配置docker镜像,该镜像继承自docker hub的java 8镜像 。在java 8镜像上,我安装了vim,wget,curl,maven,并设置了卷以便放置我现有的项目代码。最后,执行maven命令来运行我的应用程序。
现在让我们检查一下mysqldb.dockerfile:
from mysql/mysql-server maintainer dursun koc <dursunkoc@gmail.com> # copy the database initialize script: # contents of /docker-entrypoint-initdb.d are run on mysqld startup add mysql/ /docker-entrypoint-initdb.d/
docker文件配置docker镜像,该镜像继承自docker hub的mysql / mysql-server映像 。在mysql映像上,我放置了我的db-schema创建脚本,它们位于mysql文件夹中。我在这个文件夹中有一个sql文件 - data.sql - 以创建'person'表。
现在,我们看看应用程序结构。
我们的应用程序是从src / com / turkcell / softlab / application.java
文件开始的,我们唯一的controller是personcontroller(src / com / turkcell / softlab / controller / personcontroller.java)。
您可以使用简单的命令运行整个项目:
docker-compose up -d
测试时,请在本地计算机中使用以下两个命令:
• 创建新人:
curl -h “content-type:application / json” -x post -d “{\”first \“:\”mustafa \“,\”last \“:\”koç\“,\”dateofbirth \“381110400000 ,“placeofbirth”:\“erzincan \”}“ ”http://192.168.99.100:8080/people“
• 列出数据库中的现有人员:
curl -h “content-type:application / json” -x get “http://192.168.99.100:8080/people”
总结
以上所述是小编给大家介绍的在docker中开发java 8 spring boot应用程序的方法,希望对大家有所帮助