首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Docker tomcat通过dockerfile编辑配置文件

Docker tomcat通过dockerfile编辑配置文件
EN

Stack Overflow用户
提问于 2017-06-14 15:39:38
回答 1查看 13.6K关注 0票数 5

我已经创建了一个dockerfile和docker-compose,如下所示,它支持在我的容器中创建tomcat的图像,并编辑tomcat用户,以便我能够访问管理器gui。

下面的四个文件和我运行docker-compose up命令的文件夹都在同一个文件夹中。

docker-compose.yml

代码语言:javascript
复制
version: '2'

services:
  tomcat:
    build: .
    container_name: development
    ports:
      - 8001:8080
    environment:
      - spring.profiles.active=development

文档文件

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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>  

当我运行docker-compose up命令时,它完美地生成了带有tomcat镜像的容器,但是现有的tomcat-users.xml和context.xml没有被覆盖。你知道我覆盖这两个文件做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-14 17:42:40

我想通了。问题是我执行构建任务的用户没有足够的权限在这些文件夹中写入内容。我所做的是向Dockerfile添加一个用户根任务,以便它以根用户身份执行所有命令。

我的Dockerfile现在看起来像这样:

代码语言:javascript
复制
FROM tomcat
USER root
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/
CMD ["catalina.sh","run"]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44538447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档