2016-08-30 10 views
1

ドッカーのTomcatのベストプラクティスとWARファイルのリンク方法を探しています。外付けWARでdocker tomcatを使用

遭遇した2つのアプローチがある:

  1. は、あなた自身のものとしてイメージを再構築し、その後、ベースTomcatのイメージを拡張し、/webappsにWARファイルをコピーします。
  2. 最初の裸のtomcatと2番目のデータコンテナ、WARファイルを格納するbusyboxなどのコンテナを使用します。その後、busyboxコンテナをtomcatコンテナの/webappsにマウントすると、WARファイルが効果的に取得されます。

私は第2のアプローチの音が気に入っていますが、私は正常に動作させることができませんでした。

私は、busyboxを使用してデータコンテナを作成してから、docker composeを使用してサービスを開始しようとしました。 WARはコピーされず、ビジーボックスコンテナは直ちに停止します。

データコンテナDockerfile:

FROM busybox 

RUN mkdir /webapps 
COPY ./demo.war /webapps/demo.war 

VOLUME ['/webapps'] 

ドッキングウィンドウ-compose.yml

version: '2' 
services: 
    data: 
    image: <Data Container Image> 

    tomcat: 
    image: tomcat:8.5.4-jre8 
    volumes_from: 
     - data 
    ports: 
     - "678:8080" 

WARファイルがdocker-compose upが実行された直後にコピーし、busyboxのコンテナが終了されていません。

ご協力いただければ幸いです。

答えて

0

データコンテナは、DNAによって定義されています。あなたがボリュームとして公開したりもvolumes_fromはむしろドッキングウィンドウで導入された「ボリューム」私が考えるの使用に推奨されていませんので、私は、volumes_fromを使用しますが、ボリュームはなかった、気付か

version: '2' 
services: 
    data: 
    image: <Data Container Image> 
    volumes: 
     - webapps:/webapps 
    tomcat: 
    image: tomcat:8.5.4-jre8 
    volumes: 
     - webapps:/webapps 
    ports: 
     - "678:8080" 
volumes: 
    webapps: 
    driver: local 

を使用する必要が

1.11

ヒント:Tomcatコンテナーのマウントパスを調整します。/ usr/local/tomcat/webapps

関連する問題