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

我有一个像我不得不复制几个configuration文件到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服务器。

我想将我的configuration文件复制到tomcat webapps文件夹内的提取的war文件。 在启动tomcat服务器之前,以下是属性的位置,如tomcat_home / webapps / app / conf / services.properties

我有一个挑战,复制此属性文件到相应的文件夹启动tomcat caontainer之前。

我不知道如何使用docker-compose来做到这一点。 在docker-compose.yml中还是使用dockerfile是否真的有可能? 任何答案都是可观的。

你不能复制使用docker-compose.yml的文件,但是你可以使用Dockerfile中的COPY命令把文件放到容器中,也许你感到困惑/app/conf/services.properties不是一个目录,这就是为什么复制没有发生,Docker没有抛出错误,另一种方式是你可以挂载一个可以使用docker-compose.yml完成的卷

对的,这是可能的。 您可以使用volume: docker-compose.yaml文件中的服务内部部分,也可以在docker-compose.yaml文件中指定copy命令。 语法 :在docker文件中copy source destination 。 要么
在docker-compose中volumes: <folder/path/in/host> : <folder/path/in/container>