ubuntu - 如何将 .war 从 docker-composer 移动到主机的值文件夹?

标签 ubuntu docker docker-compose

我有一个 Composer 文件:

version: '2'
services:
        applic:
              image: tomcat
              ports:
                    - "8082:8080"
              depends_on:
                    - rabbit_image
                    -packager
              volumes:
                    - "/home/ustin/second_try/common_data:/home"
       rabbit_image:
              image: rabbitmq
              ports:
                    - "15673:5672"
       packager:
              build:
                     context: ./maven_images
                     dockerfile: Dockerfile
              volumes:
                    - "/home/ustin/second_try/common_data:/home"

和 Dockerfile:
FROM maven
RUN mkdir clonefolder && cd clonefolder && git clone <repo.git> && cd docker-test-task && mvn clean package && cd target/ && cp docker-test-task-1.0.war /home && cd /home && ls

主要思想:在带有 maven 的镜像中使用 Dockerfile 我想克隆 repo,使用“clean package”命令创建 .war 文件并将其放置到“/home”文件夹,之前被定义为卷文件夹并与“/home”链接/ustin/second_try/common_data”在主机上。目前,我希望主机上有 .war 文件。然后我想把这个 .war 放到其他图像上,然后把这个文件放到 tomcat 中。

问题是:为什么我在/home 文件夹中的图像中找不到 .war 文件(但 cp 命令成功),而不是在主机文件夹中? (Ubuntu)

所有步骤 - 完成:
重建:http://prntscr.com/jrolk7
或缓存:http://prntscr.com/jrolun

最佳答案

您正在一个 RUN 中运行所有命令指示。您正在构建一个包含已编译 .war 文件的一层的镜像。

简短的回答是您需要使用此镜像和 docker cp 运行容器。你的文件出来到你的主机。

长答案是您应该考虑创建一个可重用的镜像,该镜像将动态构建您的 WAR 文件并使用卷输出到您的主机。

以下是有关 Dockerfiles 最佳实践的一些信息:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

关于ubuntu - 如何将 .war 从 docker-composer 移动到主机的值文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724894/

相关文章:

docker - 从Dockerfile运行mvn install会出错,但是从容器内部运行成功

docker - Docker-从工件中加载基本镜像

ubuntu - 如何更改 Ubuntu.exe 使用的 rootfs 位置

ruby-on-rails - 在 Sublime Text 编辑器中构建 Ruby 时出错

ubuntu - mpich在哪里安装的?

docker - 开发和生产中的 Vue 子域

java - 在 Docker 中运行时,Firestore 模拟器无法启动

reactjs - 如何通过 docker 连接 API 和 React App

ruby-on-rails - Rails 服务器仍在新打开的 docker 容器中运行

php - 在 Ubuntu Apache 上,M2E Pro 向 Ebay 列出项目缓慢且不可靠