MyEclipse使用Docker的JavaEE开发

简介: 本文讲的是MyEclipse使用Docker的JavaEE开发【编者的话】本文主要讲述了如何在MyEclipse中通过Docker开发JavaEE程序。
本文讲的是MyEclipse使用Docker的JavaEE开发【编者的话】本文主要讲述了如何在MyEclipse中通过Docker开发JavaEE程序。

第1节:关于Docker

复杂的应用程序正在向容器化技术(如Docker)转移,以方便部署,简化管理,提高可靠性,平台可移植性和 微服务支持 ,因此如果你的应用程序尚未部署在容器中,相信你很快就会。Docker容器将软件包装在完整的文件系统中,包含运行所需的所有内容:代码,运行时,系统工具,系统库 - 这些安装在服务器上的东西。

第2节:安装Docker

<table>
<tr>
<td>Software</td>
<td>Link</td>
</tr>
<tr>
<td>The Docker Toolbox</td>
<td><a hrep=" https://www.docker.com/product ... 6quot ;>Here's the toolbox download.</a></td>
</tr>
</table>
注意:对于Mac或Windows,都要双击安装程序。下载并运行的所有步骤以及验证/测试方法可以参考:( Mac,Windows )。请确保在安装指南的步骤4中“鲸鱼”图标可见,并且“hello-world”容器已成功运行。

第3节:安装MyEclipse

<table>
<tr>
<td>Software</td>
<td>Link</td>
</tr>
<tr>
<td>Latest MyEclipse installer. (It has a free 30-day trial)</td>
<td><a hrep=" https://www.genuitec.com/produ ... 6quot ;>Link.</a></td>
</tr>
</table>

第4节:构建Web示例程序

  1. 启动MyEclipse
  2. 选择MyEclipse > Examples On-Demand。“示例”选项卡就会在MyEclipse仪表板上打开。
    01.png
  3. 选择Spring,然后点击"Cart Example"那个示例的Install按钮
    02.png
  4. 一旦安装完成,"SpringShoppingCartExample"工程就会被添加到你的workspace中。
    03.png

第5节:创建一个Tomcat 7 Docker容器

1. 为工程创建一个Dockerfile

  1. 在"SpringShoppingCartExample"工程上点击右键,选择New > Folder。将文件夹命令为"DockerResources"。
  2. 在"DockerResources"文件夹上点击右键,选择New > File。将文件命令为"Dockerfile"(保证名称和大小写一致)。
  3. 在Dockerfile中加入:

# We'll be using the curated Tomcat 7 container from DockerHub

FROM tomcat:7 

  1. 你的工作空间(workspace)将如下图所示:
    04.png

2. 设置Docker命令的终端

使用Docker容器涉及在shell中直接运行大量命令行,可以从MyEclipse中轻松地使用Terminal视图来完成,如下所述:
  1. 打开应用程序首选项(preferences),选择Terminal > Local Terminal,然后在Arguments中写入"-l"(这是一个dask-el)。这样确保你在“终端”视图中启动的shell与登录shell类似,并且能够获得正确的执行路径,因此你可以找到所有Docker工具箱命令。
    05.png
  2. 打开一个终端,工作目录就是之前建立的"DockerResources"。右击"DockerResources",然后选择Show In > Terminal。
    06.png
  3. eval命令将设置环境变量,让Docker命令能够正常工作,docker version命令将简单地显示目前的环境配置。

$ eval $(docker-machine env default)
$ docker version
Client:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Tue Apr 26 23:44:17 2016
OS/Arch: darwin/amd64 

Server:
Version: 1.11.1
API version: 1.23
Go version: go1.5.4
Git commit: 5604cbe
Built: Wed Apr 27 00:34:20 2016
OS/Arch: linux/amd64 


第6节:测试Tomcat 7 Docker容器

构建一个Tomcat 7 Docker容器的镜像 - 根据Dockerfile文档中的说明使用下面提到的命令。

注意:镜像是容器的详细定义,类似于类是实例化对象的详细定义。

下面的命令行将会:
  1. 构建一个容器镜像.
  2. 将镜像存放到本地仓库MyEclipse中.
  3. 将镜像命名为examples.
  4. 创建一个带有"run"标签的版本.

$ docker build -t myeclipse/examples:run
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM tomcat:7
---> 705d4a88eedc
Successfully built 705d4a88eedc

第7节:运行Docker容器

  1. 在终端上运行如下命令来启动一个容器。这条命令告诉Docker服务端使用后台进程启动一个容器(使用-d参数),并且将容器内的端口8080(Tomcat默认端口)映射到宿主机上的8080端口,宿主机指的是一个运行所有Docker容器的虚拟机。Docker服务端将返回正在运行的容器的内部ID。

$ docker run -d -p 8080:8080 myeclipse/examples:run

12b15728e8adab5e49e484524a319f7349275f3165294161c3118220801ea7

提示:运行ps命令可获取运行容器的更详细状态。
$ docker ps

CONTAINER ID    IMAGE                COMMAND         CREATED         STATUS          PORTS                NAMES

12b15728e8ad    myeclipse/examples:run   "catalina.sh run" 

下面的命令告诉Docker宿主机的IP:
$ docker-machine env

export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/todd/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"

07.png

2. 关闭Tomcat 7 Docker容器
$ docker stop cranky_mcnulty


第8节:在Docker容器中运行一个Web应用程序

1. 配置SpringShoppingCartExample的部署

  1. 新建一个部署,在工程上点击右键,选择MyEclipse > Add and Remove Project Deployments...
    08.png
  2. 在"Manage Deployments"对话框中,点击Add...按钮,为部署选择一个新的服务类型。
    09.png
  3. 在"Deploy Modules"对话框中: 
    1. 选择"manually define a new server"
    2. 在"Basic"栏目中,选择"Externally Launched Server"
    3. 最后,在"Server name"中填上"Docker Tomcat 7 Container",然后点击"Next"按钮
      10.png
  4. Docker安装设置一些虚拟机配置,能够更容易共享主目录下的任何位置,在"Deploy Location"中填入"<UserHomeDir>/Applications/DockerDeployments",然后点击"Finish"按钮。
    11.png
  5. 发布
    12.png
  6. 状态将会变成"Synchronized"。将鼠标悬停在部署行上,在弹出的窗口上确认应用程序现在是否已部署到指定的位置。MyEclipse让所设定的位置与在工作区中对代码所做的任何更改保持同步,这使得在Docker容器中测试更改变得非常简单。
    13.png

2. 使用我们的部署来启动Docker容器

  1. 我们需要启动Docker容器,以便将本地部署映射到容器文件系统中的正确位置。这可以使用-v选项作为docker run命令的一部分,通过指定的数据卷映射来实现。下面的命令与之前用于启动Docker容器的命令完全相同,只是现在我们将SpingShoppingCartExample的部署目录映射到Docker容器中文件系统的正确位置,以便Tomcat知道应用程序已部署。完整命令如下所示:
    docker run -v 
    "/Users/todd/Applications/DockerDeployments/SpringShoppingCartExample":/usr/local/tomcat/webapps/SpringShoppingCartExample -p 8080:8080 -d myeclipse/examples:run
    
  2. 使用MyEclipse内部的Web浏览器,打开网址"http://192.168.99.100:8080/Spr ... ot%3B,然后就会看到Tomcat 7 Docker容器中运行这"SpringShoppingCartExample"。成功运行的屏幕截图如下所示:
    14.png

    15.png

最后的提示

既然你熟悉一些关键的Docker命令,那么快捷方式是什么?MyEclipse 2016 CI 4加入了将经常使用的Docker命令从Snippets视图拖放到终端的功能 - 一个真正节省时间的方式!
16.png

总结

希望文章中对Docker容器的介绍对你有用,并且现在你可以在Docker容器中运行SpringShoppingCartExample。我敢打赌,你会认为能够轻松地调试这个应用程序是一件很赞的事情,我将在 下一篇 博客中介绍关于调试的细节。

原文链接:JavaEE Development Using Docker With MyEclipse,(翻译:肖远昊)

原文发布时间为:2016-12-11

本文作者:肖远昊

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:MyEclipse使用Docker的JavaEE开发

相关文章
|
4月前
|
存储 持续交付 Docker
Docker:颠覆传统开发的轻量级容器革命
Docker:颠覆传统开发的轻量级容器革命
|
9月前
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
267 13
|
9月前
|
安全 开发者 Docker
Docker技术背景与应用:解决现代开发中的关键问题
Docker作为一种革命性的容器化技术,极大地改变了现代软件开发的方式。通过解决环境一致性、依赖管理、部署复杂性和资源利用率等问题,Docker为开发者提供了高效、灵活的开发和部署环境。尽管面临着一些挑战,但随着技术的发展和完善,Docker将继续在现代软件开发中发挥重要作用。作为全栈工程师,掌握并善用Docker技术,将为我们的开发工作带来更多便利和可能性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
存储 持续交付 开发者
掌握Docker容器化:提升开发效率与应用部署
【10月更文挑战第4天】在现代软件开发中,Docker容器化技术因其轻量级、可移植和快速部署的特点,成为提升开发效率和简化部署流程的关键工具。本文介绍了Docker的基本概念、核心组件及其优势,并探讨了如何在开发环境中搭建、微服务架构及CI/CD流程中有效利用Docker,助力软件开发更加高效便捷。
|
持续交付 开发者 Docker
掌握 Docker:容器化技术在现代开发中的应用
Docker 是一个开源容器化平台,使开发者能够将应用程序及其依赖项封装在轻量级容器中,确保跨平台的一致性。本文介绍了 Docker 的基本概念、核心组件及优势,并展示了其在快速部署、一致性、可移植性和微服务架构中的应用。通过示例说明了 Docker 在本地开发环境搭建、服务依赖管理和 CI/CD 流程中的作用,以及多阶段构建、资源限制和网络模式等高级特性。掌握 Docker 可大幅提升开发效率和应用管理能力。
|
容器 C# Docker
WPF与容器技术的碰撞:手把手教你Docker化WPF应用,实现跨环境一致性的开发与部署
【8月更文挑战第31天】容器技术简化了软件开发、测试和部署流程,尤其对Windows Presentation Foundation(WPF)应用程序而言,利用Docker能显著提升其可移植性和可维护性。本文通过具体示例代码,详细介绍了如何将WPF应用Docker化的过程,包括创建Dockerfile及构建和运行Docker镜像的步骤。借助容器技术,WPF应用能在任何支持Docker的环境下一致运行,极大地提升了开发效率和部署灵活性。
711 1
|
机器学习/深度学习 Kubernetes Docker
机器学习开发的灵药:Docker容器
机器学习开发的灵药:Docker容器
108 2
|
jenkins 持续交付 开发工具
自动化开发之旅:Docker携手Jenkins,与Git和Tomcat共舞持续集成
【8月更文挑战第13天】在软件开发中,持续集成(CI)通过自动化构建、测试与部署提升效率与稳定性。Docker、Jenkins、Git和Tomcat构成CI的黄金组合:`git push`触发Jenkins作业,利用Docker确保环境一致性,最终将应用部署至Tomcat。首先配置Git Webhooks以触发Jenkins;接着在Jenkins中创建作业并使用Docker插件模拟真实环境;通过Maven构建项目;最后部署至Tomcat。这套流程减少人为错误,提高开发效率,展示了技术的力量与流程的革新。
234 0