温馨提示  2024年 6月我们已经停止开发者板块文章内容更新,谢谢来访。存档数据
知识 2023-08-24 43 次阅读

云计算核心技术docker教程java镜像使用 compose 在本地开发

   

在本节中,我们将创建一个 compose 文件以java-docker使用单个命令启动我们的和 mysql 数据库。我们还将设置 compose 文件以java-docker在调试模式下启动应用程序,以便我们可将调试器连接到正在运行的 java 进程。

petclinic在 ide 或文本编辑器中打开并创建一个名为docker-compose.dev.yml. 将以下命令复制并粘贴到文件中。

这个 compose 文件非常方便,因为我们不必键入要带给docker run命令的所有参数。我们可使用 compose 文件声明性地做到这一点。

我们公开端口 8000 并声明 jvm 的调试配置,以便我们可附加调试器。

使用 compose 文件的另一个非常酷的功能是我们将服务解析设置为使用服务名称。所以呢,我们现在可以mysqlserver在我们的连接字符串中使用。我们使用的原因mysqlserver是因为我们在 compose 文件中命名了我们的 mysql 服务。

现在,启动我们的应用程序并确认它运行正常。

$ docker-compose -f docker-compose.dev.yml up --build

我们传递--build标志,以便 docker 编译我们的图像,然后启动容器。如果运行成功,您应该会看到类似的输出

现在叫我们测试我们的 api 端点。运行以下 curl 命令

$ curl --request get \\

--url http://localhost:8080/vets \\

--header \'content-type: application/json\'

您应该会收到以下回复

{vetlist:[{id:1,firstname:james,lastname:carter,specialties:[],nrofspecialties:0,new:false},{id:2,firstname:helen,lastname:leary,specialties:[{id:1,name:radiology,new:false}],nrofspecialties:1,new:false},{id:3,firstname:linda,lastname:douglas,specialties:[{id:3,name:dentistry,new:false},{id:2,name:surgery,new:false}],nrofspecialties:2,new:false},{id:4,firstname:rafael,lastname:ortega,specialties:[{id:2,name:surgery,new:false}],nrofspecialties:1,new:false},{id:5,firstname:henry,lastname:stevens,specialties:[{id:1,name:radiology,new:false}],nrofspecialties:1,new:false},{id:6,firstname:sharon,lastname:jenkins,specialties:[],nrofspecialties:0,new:false}]}