使用docker部署Java war

时间:2017-12-15 10:47:24

标签: java docker

我是码头工的初学者。

我希望使用docker

部署一个java ant war应用程序

我在server1中安装了docker

创建了一个Dockerfile:

FROM java:8
EXPOSE 8116
ADD myapp.war myapp.war
ADD jetty-runner-9.4.8.v20171121.jar jetty-runner-9.4.8.v20171121.jar
RUN mkdir temp_dir
CMD ["nohup", "java" , "-Dorg.eclipse.jetty.server.Request.maxFormContentSize=10000000" , "-Xms64m" , "-Xmx128m" , "-Djava.io.tmpdir=temp_dir" , "-jar" ,"jetty-runner-9.4.8.v20171121.jar" ,"--log" ,"myapp-docker-request.log" ,"--out","myapp-docker-output.log" ,"--port" , "8116",  "--path" , "/myapp-docker" ,"myapp.war" , "&" ]

将图像构建为:

docker build -t  myapp .

以:

运行
docker run -p 8116:8116 myapp
列出时

[root@metafore-staging ~]# docker ps --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
068751d27d8f        myapp               "nohup java -Dorg.ecl"   9 seconds ago       Exited (1) 7 seconds ago                        berserk_lovelace

它没有开始;报告为:

[root@localhost ~]# docker run -p 8116:8116 myapp

2017-12-15 11:21:50.653:INFO::main: Logging initialized @148ms to org.eclipse.jetty.util.log.StdErrLog
2017-12-15 11:21:50.661:INFO:oejr.Runner:main: Runner
2017-12-15 11:21:50.729:INFO:oejr.Runner:main: Redirecting stderr/stdout to myapp-docker-output.log

我希望使用http://server1:8116在浏览器中检查已部署的应用(myapp) (Docker应用程序部署在Server1中)

我已经直接在server1中部署myapp来检查工作情况,它运行正常。 需要使用docker

进行部署和检查

1 个答案:

答案 0 :(得分:0)

尝试使用数组语法(带[])进行上一次命令/运行:https://docs.docker.com/engine/reference/builder/#cmd RUN cd也没有做任何事情,每个RUN都会重置工作目录。