linux 中使用docker,构建springboot项目镜像并启动容器,在启动容器的时候报错
dockerfile内容:
FROM java:8
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/docker/translate/translate.jar"]
jar包存放位置
docker run --name translate -p 10086:10086 -d translate
镜像
查了好多,说是Dockerfile的启动命令 jar包位置不对,可是反复确认这个位置没有问题。怀疑是不是启动命令哪个地方写错了。
Dockerfile文件编写错误,主要原因是没将jar复制到容器中,容器启动执行命令肯定报错找不到Jar
Dockerfile文件编写参考如下:
# 基础镜像
FROM openjdk:8
#申明一个环境变量
ENV HOME_PATH /home
#指定容器启动时,执行命令会在该目录下执行
WORKDIR $HOME_PATH
#应用构建成功后的jar复制到容器指定目录下
ADD target/SpringBoot-0.0.1-SNAPSHOT.jar $HOME_PATH/app.jar
#指定容器内部端口
EXPOSE 8888
#容器启动时执行的命令
ENTRYPOINT ["java","-jar","app.jar"]