gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 19:12:22 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com