我有一个场景,比如我必须将几个配置文件复制到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,它实际上会执行以下操作
我想将配置文件复制到tomcat webapps文件夹中提取的war文件中。这是该物业的位置 启动tomcat服务器之前的tomcat_home / webapps / app / conf / services.properties
我遇到了在启动tomcat caontainer之前将此属性文件复制到相应文件夹的挑战。
我不知道如何使用docker-compose来做到这一点。这是否真的可以在docker-compose.yml中使用或使用dockerfile?任何答案都会很明显。
答案 0 :(得分:1)
是的,这是可能的。您可以在volume:
文件的内部服务部分使用docker-compose.yaml
,也可以在copy
内指定docker file
命令。
语法:
docker文件中的copy source destination
。或
docker-compose中的volumes:
<folder/path/in/host> : <folder/path/in/container>
答案 1 :(得分:0)
您无法使用docker-compose.yml复制文件,但可以使用Dockerfile中的COPY命令将文件放入容器中,
也许你感到困惑的是路径/app/conf/services.properties
不是一个目录,这就是为什么副本没有发生并且Docker没有抛出错误的原因
另一种方法是你可以安装一个可以使用docker-compose.yml