让代码在docker容器运行 而 不是jar #2345
Answered
by
JohnNiang
qq547176052
asked this question in
Q&A
-
你当前使用的版本1.54 描述一下此特性代码在docker容器运行 附加信息Dockerfile 文件 # 建立一个新的镜像文件,配置模板:新建立的镜像是以centos为基础模板
# 因为jdk必须运行在操作系统之上
FROM centos:7.9.2009
# 维护者
MAINTAINER author <[email protected]>
# 设置工作目录
WORKDIR /halo
# 创建一个新目录来存储jdk文件
RUN mkdir /usr/local/java
#将jdk压缩文件复制到镜像中,它将自动解压缩tar文件
ADD ./jdk-11.0.15.1_linux-x64_bin.tar.gz /usr/local/java/
# ADD ./halo.zip /halo
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 设置环境变量
ENV JAVA_HOME /usr/local/java/jdk-11.0.15.1
ENV PATH $JAVA_HOME/bin:$PATH
# 编译
# docker build -t java:11 .
# 运行
# docker run -itd -p 8090:8090 -v E:\0\dddddd\halo\docker_jdk\xx64\halo:/halo java:11 /bin/bash
上面的 Dockerfile 已经完成 jdk11 开发环境 并挂载 halo代码到docker容器 |
Beta Was this translation helpful? Give feedback.
Answered by
JohnNiang
Aug 23, 2022
Replies: 1 comment
-
直接运行源码是不行的。运行之前需要先经过编译,构建才能正常运行。 Halo 是使用的 Spring Boot 框架,建议打包成 JAR 运行或者直接用 |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
ruibaby
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
直接运行源码是不行的。运行之前需要先经过编译,构建才能正常运行。
Halo 是使用的 Spring Boot 框架,建议打包成 JAR 运行或者直接用
./gradlew bootRun
运行。直接运行 Application.class 可能无法正常运行。