为了账号安全,请及时绑定邮箱和手机立即绑定

为 Spring Cloud 配置服务器创建 docker 文件

为 Spring Cloud 配置服务器创建 docker 文件

饮歌长啸 2023-06-28 15:23:13
我正在尝试为我的配置服务器构建 docker 映像。这些是我遵循的步骤:打开https://start.spring.io/ 并添加 config-server 作为依赖项。然后下载该项目。添加@EnableConfigServer注释于 demo\src\main\java\com\example\demo\DemoApplication.java添加以下代码demo\src\main\resources\application.propertiesserver.port=8888  spring.cloud.config.server.git.uri=https://github.com/mygitusername/configserverdata.git当我mvn spring-boot:run在本地使用命令启动配置服务器时,它工作正常。现在我想为我的配置服务器创建 docker 映像。FROM maven:alpineMAINTAINER hyness <hyness@freshlegacycode.org>EXPOSE 8888COPY . /Demo/WORKDIR /Demo/RUN mvn packageVOLUME /configWORKDIR /ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar",\            "/Demo/target/Demo.jar",\            "--server.port=8888",\            "--spring.config.name=application"]当我执行时docker build -t spring-cloud-config-server .它说 BUILD Failure with this Reason您指定的目标需要一个项目来执行,但此目录(/demo)中没有 POM。请验证您从正确的目录调用 Maven。请帮助我为我的配置服务器创建正确的 docker 文件。mvn spring-boot:run这可能是一个愚蠢的问题,但我也需要在 Dockerfile 中指定。我刚刚开始学习docker。
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

我刚刚构建了该应用程序,它与这个 Dockerfile 和 dirs 布局一起工作得很好(看看“COPY ./demo /demo/”):


FROM maven:alpine

MAINTAINER hyness <hyness@freshlegacycode.org>


EXPOSE 8888

COPY ./demo /demo/

WORKDIR /demo/

RUN mvn package

VOLUME /config

WORKDIR /

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar",\

            "/demo/target/demo.jar",\

            "--server.port=8888",\

            "--spring.config.name=application"]

$ tree

.

├── demo

│   ├── pom.xml

│   └── src

│       └── main

│           ├── java

│           │   └── com

│           │       └── example

│           │           └── demo

│           │               └── DemoApplication.java

│           └── resources

│               └── application.properties

└── Dockerfile


查看完整回答
反对 回复 2023-06-28
  • 1 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号