当前位置: 首页 > 知识库问答 >
问题:

使用Docker-compose将文件复制到Docker容器中的tomcat webapps文件夹

查修谨
2023-03-14

我有一个场景,比如我必须将几个配置文件复制到存在于docker容器中的tomcat webapps文件夹中。这是我使用的dockerfile

FROM tomcat:7.0.82-jre8
RUN apt-get update && apt-get -y upgrade
WORKDIR /usr/local/tomcat
COPY /app.war /usr/local/tomcat/webapps/app.war
RUN apt-get update && apt-get install -y dos2unix
EXPOSE 8080
COPY tomcat-users.xml /usr/local/tomcat/conf/

一旦我们运行docker,它实际上会执行以下操作

  1. 它实际上将app.war复制到tomcat webapps文件夹,并提取到名为“app”的文件夹
  2. Docker将尝试启动tomcat服务器。

我想将配置文件复制到提取的war文件中,该文件位于tomcat webapps文件夹中。在启动tomcat服务器之前,下面是属性look like tomcat_home/webapps/app/conf/services.properties的位置

在启动tomcat caontainer之前,我需要将此属性文件复制到相应的文件夹。

我不知道如何使用docker-compose来完成这个操作。在docker-compose.yml中或使用dockerfile中是否真的可以这样做?任何答案都是值得注意的。

共有1个答案

萧宁
2023-03-14

是的。有可能。您可以使用docker-compose.yaml文件的volume:inside services部分,也可以在docker file中指定copy命令。语法:copy source destinationin docker文件。或
卷: : docker-compose中

 类似资料:
  • 我有一个,其中我将现有目录(包含内容)复制到工作正常的容器: Dockerfile 但当我使用文件中只有目录,而在中没有任何内容。 docker-compose.yml: 也许我不明白的功能,如果是这种情况,请告诉我如何通过文件将现有文件复制到容器。

  • 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理本身上安装所有的运行时和库。 为了实现这一点,我需要将在容器中构建的构建构件复制回主机中。有可能吗?

  • 问题内容: 我正在尝试为我们使用的Docker容器构建备份和还原解决方案。 我已经创建了Docker基本映像,并且不想每次都使用Docker文件重建它来向其添加文件。 我想创建一个从主机运行的脚本,并使用Docker映像创建一个新容器,然后将文件复制到该容器中。 如何将文件从主机复制到容器? 问题答案: 该命令可用于复制文件。 可以将一个特定文件复制到容器中,例如: 可以从容器中复制一个特定文件,

  • 问题内容: 我正在考虑使用Docker在持续集成(CI)服务器上构建我的依赖项,这样我就不必在代理程序本身上安装所有运行时和库。 为此,我需要将容器内部构建的构建工件复制回主机。那可能吗? 问题答案: 为了将文件从容器复制到主机,可以使用以下命令 这是一个例子: 这里 goofy_roentgen 是我从以下命令获得的容器名称: 您还可以使用(部分) 容器ID 。以下命令等效于第一个

  • 问题内容: 我正在尝试将一组文件从Docker主机复制到容器。在AUFS系统上,直接进入/ var / lib / docker / aufs / …即可。但是我是另一个使用Fedora的系统,它具有devicemapper作为存储驱动程序。在这个系统上,如果我这样做: 我什么都没有。我已经尝试了将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接转到基础FS。但是我不能假

  • 我一无所获。我尝试了从将文件从主机复制到Docker容器的所有建议 使用tar似乎很棒,而不是直接去底层FS。但我不能假设焦油会出现在所有容器中。 如果是相关的,我甚至尝试在容器中创建一个文件,但它然后做了一个查找。-在/var/lib/docker/devicemapper/mnt中命名无效。