我是码头工的初学者。
我希望使用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
答案 0 :(得分:0)
尝试使用数组语法(带[])进行上一次命令/运行:https://docs.docker.com/engine/reference/builder/#cmd
RUN cd
也没有做任何事情,每个RUN
都会重置工作目录。