我正在尝试为我的项目创建一个docker环境。让我解释。
我有一个项目叫my-project
从而引发战争my-project.war
。我创建了一个名为的 Docker 镜像my-project:latest
其中包含my-project.war
in the /my-project
目录。那很简单。
现在我想合并 Docker 镜像my-project:latest
and tomcat:latest
(这是 Tomcat 的官方 Docker 镜像)docker-compose.yml
。我从这个开始docker-compose.yml
:
version: "3"
services:
my-project:
image: my-project:latest
tomcat:
image: tomcat:latest
ports:
- 8080:8080
但我现在如何复制文件/my-project/my-project.war
来自my-project
容器到webapps/
目录中的tomcat
容器?这在 docker-compose 中可能吗?或者我应该从一个新的开始Dockerfile
?
换句话说,我遇到了麻烦结合这两个容器。
你不能在 docker-compose 中这样做。但是,您可以使用 docker 中一个非常好的功能,称为多阶段构建
基本上,创建一个新的 Dockerfile 将图像合并为一个:
FROM my-project:latest as project
FROM tomcat:latest
COPY --from=project /my-project/my-project.war /webapps
一旦你使用构建此图像docker build -t app .
你将会有一个 tomcat 镜像,其中包含你在“/webapps”的战争。
在 docker-compose 中只需使用这个图像:
version: "3"
services:
application:
image: app
ports:
- 8080:8080
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)