内容简介:在Docker环境中开发Java 8 Spring Boot应用程序
本文我将向你展示如何在本地计算机上不安装 Java 8环境的情况下使用Java 8来开发并运行一个简单的Spring Web应用程序。
Python开发人员可以借助 虚拟环境 为不同项目创建和管理独立的环境,每个项目都可以使用不同版本的 Python 来执行、存储和解决Python的依赖关系。然而Java和很多其他技术都不支持虚拟环境的概念。此时, Docker 可以帮助我们解决这个问题。
Docker是一个虚拟化平台。本文我不打算深入介绍 Docker 的技术细节。如果你对此感兴趣,可以从Docker的官方网站上了解它的基本信息和获取安装指南。
一旦你安装了Docker工具箱,你就不需要安装此示例应用程序所需的Java 8或 MySQL 环境了。
进入正题,你可以从GitHub 网站上下载 我的代码 。
第一步,我们先看一下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 # # # 拉取基础镜像. FROM java:8 # 维护者信息 MAINTAINER Dursun KOC "dursunkoc@gmail.com" # 更新包和安装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 # 添加卷 VOLUME /vol/development # 创建工作目录 RUN mkdir -p /vol/development WORKDIR /vol/development # 使用exec执行maven命令 CMD ["mvn", "clean", "package", "exec:java"]
此Docker文件配置了一个从 Docker Hub 的Java 8镜像继承过来的Docker镜像。在那个Java 8映像上,我安装了vim,wget,curl,Maven,并为我现有的项目代码设置了容量。最后,通过执行Maven命令来运行我的应用程序。
现在我们来看看mysqldb.dockerfile的内容:
FROM mysql/mysql-server MAINTAINER Dursun KOC <dursunkoc@gmail.com> # 复制数据库初始化脚本: # /docker-entrypoint-initdb.d 中的内容将在 mysqld 启动时被执行 ADD mysql/ /docker-entrypoint-initdb.d/
此Dockerfile配置了一个从 Docker Hub 的MySQL/mysql-server镜像继承下来的Docker镜像 。在MySQL映像上,我将db-schema创建脚本放在MySQL文件夹中。我将用来创建“人”表的单个 SQL 文件data.sql放在此文件夹中。
现在,我们来看看此应用程序的结构。
我们的应用程序从src/com/turkcell/softlab/Application.java文件启动,此应用中唯一的控制器是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"
现在轮到你了!你可以使用这个模板来深入研究Java 8和Spring Boot。
相关的参考资料: Docker入门
翻译人:明明如月,该成员来自云+社区翻译社
原文链接:https://dzone.com/articles/developing-java8-springboot-application-in-docker
原文作者:Dursun Koç
发表于 6 小时前
以上所述就是小编给大家介绍的《在Docker环境中开发Java 8 Spring Boot应用程序》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [译] 教学:如何使用实际按钮将应用程序部署到生产环境
- 混合云环境中的Kubernetes和HPC应用程序Part II
- ruby-on-rails – 如何从命令行重新启动Rails应用程序时定义环境?
- Android里应用程序,应用程序窗口和视图对象之间的关系
- 使用 Bluemix、Watson Discovery 和 Cloudant 构建移动应用程序来分析其他应用程序
- ChromeOS 终端应用程序暗示其即将支持 Linux 应用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
一本书读懂24种互联网思维
安杰 / 台海出版社 / 2015-3-1 / 39.80元
互联网思维已经不再局限于互联网,与当初人类史上的“文艺复兴”一样,这种思维的核心即将开始扩散开去,对整个大时代造成深远的影响。本书是深入研究互联网思维的精华之作,作者深入浅出地集中阐述了24种互联网思维的内核与精神,并结合实例对这24种互联网思维逐一进行了点评。对于个人与企业如何抓住互联网思维背后正喷薄而出的工作、生活、商业上的大革新与大机遇,如何在互联网思维下进行运作,如何运用互联网思维进行升级......一起来看看 《一本书读懂24种互联网思维》 这本书的介绍吧!