【发布时间】:2018-09-04 11:59:02
【问题描述】:
我是 docker 新手,
我已经预先制作了一个 docker 映像(更新并安装了 Java 和其他依赖项)并将其存储在我的 GitHub 存储库中,
我在 AWS S3 存储桶上存储了一个简单的 hello world Spring Boot 应用程序,
我想要我的 DockerFile -
1. 从我的 GitHub 仓库中获取 docker 镜像
2.做一个更新补丁
3. 将我的工作目录设置为 /home/ubuntu
4. 使用 wget 从 S3 存储桶下载应用程序(可公开访问)
5. 在容器内运行应用
之后我将运行映像。
构建命令 -
docker build -t someTag .
运行命令 -
docker run -p 9090:8090 someTag
我要下载的 java 应用程序 jar 是 - docker.jar
并且应用程序在端口 8080 上运行
我有以下 Dockerfile -
FROM someRepoHere
WORKDIR /home/ubuntu
RUN apt-get update
RUN cd /home/ubuntu
VOLUME /home/ubuntu
RUN wget S3BucketLocationHere
#RUN nohup java -jar docker.jar &
# Expose the default port
EXPOSE 8080
#Old command - CMD nohup java -jar docker.jar &
CMD ["java", "-jar", "docker.jar"]
DockerFile 能够成功构建镜像,但是,
我的应用程序无法访问,它没有在容器内运行。
在本地,如果我 wget 我的应用程序并运行 nohup 命令,应用程序会成功响应。
【问题讨论】:
标签: java docker spring-boot dockerfile