2017-05-14 77 views
1

我要部署的.war应用到泊坞窗的容器中,在传递部署文件转换成搬运工容器开始

我试图建立一个包含Tomcat服务器码头工人形象和它的部署

文件,如战争和罐子,

#set the base image 
    FROM my-base-image 
    # author 
    MAINTAINER elsayed 
    # extra metadata 
    LABEL version="1.0" 
    LABEL description="The First Image for tomcat" 

    #add server-files 

    RUN mkdir -p /root/apache-tomcat-8.0.24 
    COPY apache-tomcat-8.0.24 /root/apache-tomcat-8.0.24 

    add receiver.war /root/apache-tomcat-8.0.24/webapps 
    add common.jar /root/apache-tomcat-8.0.24/mule-libs/user/myapp 
    add model.jar /root/apache-tomcat-8.0.24/mule-libs/user/myapp 
    add wsdl.jar /root/apache-tomcat-8.0.24/mule-libs/user/myapp 
    add service.jar /root/apache-tomcat-8.0.24/mule-libs/user/myapp 
    add StatusCodes.jar /root/apache-tomcat-8.0.24/mule-libs/user/myapp 


    RUN echo '/root/apache-tomcat-8.0.24/bin/catalina.sh run -Xms256m -Xmx1G -XX:MaxPermSize=256m -Dmule.verbose.exceptions=true -Djava.net.preferIPv4Stack=true -Dlog4j.configuration=file:/root/elsayed/server/logging/tomcat/log4j.properties -Dlog4j.debug=true -Dvericash.home=/root/elsayed -Djboss.ejb.client.properties.file.path=/root/jboss-ejb-client.properties' 
    >> /root/apache-tomcat-8.0.24/bin/start.sh 

    EXPOSE 9191 

    CMD ["/bin/bash", "/root/apache-tomcat-8.0.24/bin/start.sh"] 

我现在用的是在发展中,我'一直让我不得不重新打造泊坞窗图像编辑和部署应用程序很多次,

有没有办法在运行时将.war和jar文件传递到docker容器中,而无需再次重新构建映像?

回答

1

是的,你可以在Docker运行命令中添加一个卷,并添加-v /your/host/dir:/your/dir/inside/container。这样你的主机上就有一个目录在你的容器内。

然后,您可以将所需的文件复制到该目录以将其部署到容器上。然后,如果您需要在容器中运行命令(例如服务重启或其他),则可以使用docker exec <containerId> <yourCommand>

+0

谢谢@OscarAkaElvis,请将不同的jar添加到容器内的不同位置,如docker文件中所示。 – Elsayed

+1

如果要映射多个文件/文件夹,则可以多次使用'-v'。 –