2017-06-14 6 views
3

以下のようなdockerfileとdocker-composeを作成しました。これは、コンテナ内にtomcatのイメージを作成し、tomcatユーザーを編集してマネージャGUIにアクセスできるようにするためです。
以下の4つのファイルはすべて、を実行したときのフォルダと同じフォルダにあり、コマンドをドッキングします。dockerfileで設定ファイルを編集するDockerのtomcat

ドッカー-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が取得できませんでした上書きされます。私はこれらの2つのファイルを上書きするのに間違って何をしているのだろうか?

+0

私はこの現象を再現することはできません。 'docker-compose build && docker-compose up -d'で画像を再構築しようとしましたか?また、 'docker exec -it bash'がファイルが期待どおりであることを確認することも考えてください。 –

+0

私も再現できません。正しいファイルを使って、画像が綺麗に見えます。 Jan Trienesが言及したように、イメージが再構築されることを確かめるために、ドッカーの作成を使用しようとします。 – lvthillo

+0

あなたの回答に感謝します。問題の内容を把握し、以下の答えで説明しました。 – Krikke93

答えて

1

私はそれを理解しました。問題は、ビルドタスクを実行していたユーザーに、これらのフォルダに書き込むための十分な権限がないことでした。 私がしたのはUSERルートタスクをDockerfileに追加して、すべてのコマンドをrootとして実行するようにしたことです。
私Dockerfileは次のようになります。

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"] 
関連する問題