【发布时间】:2019-09-13 09:59:57
【问题描述】:
我有一个如下所示的 Dockerfile:
FROM alpine:3.9
RUN apk add --update openjdk8
RUN mkdir /var/generator/
COPY generator.jar /var/generator
EXPOSE 8080
ENTRYPOINT [ "/bin/sh" ]
Dockerfile 在 generator/ 文件夹中。我正在使用:
docker build -t generator generator/
构建成功:
Successfully built 878e81f622cc
Successfully tagged generator:latest
但是当我尝试使用此图像运行时
docker run -d -p 8080:8080 generator
它立即死亡。 docker logs 没有输出。
我的 Dockerfile 有什么问题?为什么容器会死掉?
【问题讨论】:
-
你的 docker 容器执行命令
/bin/sh并退出。您应该运行一个进程以防止它退出 -
因为你使用了 ENTRYPOINT [ "/bin/sh" ] ,这意味着一个空壳,你不执行 generator.jar
标签: java docker dockerfile devops alpine