gpt4 book ai didi

docker - docker 中的 Spring Shell 应用程序

转载 作者:行者123 更新时间:2023-12-02 18:21:41 26 4
gpt4 key购买 nike

我正在尝试在 docker 容器中部署/运行 spring shell 应用程序。尝试打开 CLI 时正在启动但正在归档。

2018-07-20 19:24:44.588  INFO 1 --- [           main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-07-20 19:24:44.597 ERROR 1 --- [ main] o.s.boot.SpringApplication : Application run failed

java.io.IOError: java.io.IOException: Unable to parse columns
at org.jline.terminal.impl.AbstractPosixTerminal.getSize(AbstractPosixTerminal.java:61) ~[jline-3.4.0.jar!/:na]
at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:481) ~[jline-3.4.0.jar!/:na]
at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:390) ~[jline-3.4.0.jar!/:na]
at org.springframework.shell.jline.InteractiveShellApplicationRunner$JLineInputProvider.readInput(InteractiveShellApplicationRunner.java:115) ~[spring-shell-core-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.shell.Shell.run(Shell.java:125) ~[spring-shell-core-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.shell.jline.InteractiveShellApplicationRunner.run(InteractiveShellApplicationRunner.java:84) ~[spring-shell-core-2.0.0.RELEASE.jar!/:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:788) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:778) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:335) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.3.RELEASE.jar!/:2.0.3.RELEASE]
at com.robustwealth.simulator.RwFixEngineApplication.main(RwFixEngineApplication.java:14) [classes!/:0.0.1-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [app.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [app.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50) [app.jar:0.0.1-SNAPSHOT]
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51) [app.jar:0.0.1-SNAPSHOT]
Caused by: java.io.IOException: Unable to parse columns
at org.jline.terminal.impl.ExecPty.doGetInt(ExecPty.java:278) ~[jline-3.4.0.jar!/:na]
at org.jline.terminal.impl.ExecPty.doGetSize(ExecPty.java:263) ~[jline-3.4.0.jar!/:na]
at org.jline.terminal.impl.ExecPty.getSize(ExecPty.java:170) ~[jline-3.4.0.jar!/:na]
at org.jline.terminal.impl.AbstractPosixTerminal.getSize(AbstractPosixTerminal.java:59) ~[jline-3.4.0.jar!/:na]

这可能是因为它无法对 docker 中的任何终端进行罚款。我们如何克服这个问题?

docker 文件

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD simulator-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
EXPOSE 5432
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=uat -jar /app.jar" ]

最佳答案

我使用 -t 选项运行容器以跳过错误。如果您想与容器交互,请使用 -it

编译图像

$ docker build -f Dockerfile -t my-spring-shell-image .

查看镜像注册表

$ docker images

运行图像!!

$ docker run -t -p 5432:5432 my-spring-shell-image

如果你想访问终端,你必须输入

$ docker run -it -p 5432:5432 my-spring-shell-image

关于docker - docker 中的 Spring Shell 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51449432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com