3
我已经创建了一个dockerfile和docker-compose,像下面这样可以在我的容器中创建一个tomcat映像并编辑tomcat用户,以便我能够访问manager gui。
以下四个文件全部位于我运行码头的相同文件夹中 - 组成命令。Docker tomcat通过dockerfile编辑配置文件
搬运工-compose.yml
version: '2'
services:
tomcat:
build: .
container_name: development
ports:
- 8001:8080
environment:
- spring.profiles.active=development
Dockerfile
FROM tomcat
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
CMD ["catalina.sh","run"]
Tomcat的users.xml中
<?xml version='1.0' encoding='cp1252'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<user username="manager" password="pass" roles="manager-gui,manager-script"/>
<user username="admin" password="pass" roles="tomcat"/>
</tomcat-users>
的context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context antiResourceLocking="false" privileged="true" >
<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>
,当我运行命令泊坞窗,构成了,它产生与完美了tomcat图像的容器,但现有的tomcat-users.xml中和context.xml中没有得到覆盖。任何想法我做错了覆盖这两个文件?
我无法重现此问题。你有没有尝试用'docker-compose build && docker-compose up -d'重建图片?另外考虑'docker exec -it bash'来检查文件是否如预期的那样 –
我也无法重现。使用正确的文件,图像看起来很好。正如Jan Trienes所说,我会尝试使用docker-compose up build来确保图像被重建。 – lvthillo
感谢您的回复。我找出了问题所在,在下面的答案中解释。 – Krikke93