Jetty は、start.jar へのフラグを通じてこれを作成できます。
ドキュメントに例があります: http://www.eclipse.org/jetty/documentation/9.3.0.v20150612/quickstart-running-jetty.html
「次のコマンド: 新しいベース ディレクトリを作成します。HTTP コネクタと Web アプリケーション デプロイヤを有効にします。デプロイするデモ Web アプリケーションをコピーします。
簡略化:
mkdir /home/me/mybase
cd /home/me/mybase
java -jar $JETTY_HOME/start.jar --add-to-startd=http,deploy
次に war をコピーします。ROOT.war を使用している場合は、/ にマップされ、jetty が開始されます。
cp my.war webapps/ROOT.war
java -jar $JETTY_HOME/start.jar
または、docker がインストールされている場合は、次のようにコピーして公式のセットアップを取得することもできます。
まず、docker をダウンロードして jetty を実行し、ホスト上のディレクトリを docker コンテナーにマップします。私はすでに webapps をマッピングしていたので、そのマッピングを使い続けました。これにより、完了時にコンテナーが削除され (-rm)、コンテナーがクリーンになり、対話型の bash シェルが開始され、webapps ディレクトリに配置された war をデプロイする準備ができている公式のベアボーン Jetty コンテナーにログインします (まさに私たちが望むものです!)
sudo docker run --rm -it -v /home/myuser/jetty/webapps:/var/lib/jetty/webapps jetty:latest /bin/bash
コンテナを実行して env すると、次のように表示されます。
JETTY_BASE=/var/lib/jetty
このベースを tar し、その tar を webapps ディレクトリにコピーします。このディレクトリはローカルホストにマップされ、終了します。(地図はご自由にどうぞ
root@f99cc00c9c77:/var/lib# tar -czvf ../jetty-base.tar.gz .
root@f99cc00c9c77:/var/lib# cp ../jetty-base.tar.gz jetty/webapps/
root@f99cc00c9c77:/var/lib# exit
ローカルホストに戻ると、公式の桟橋基地の tar ができています! docker コンテナーは終了時に停止しているはずです。これを sudo docker ps でテストすると、空のリスト (ヘッダーのみ) が表示されるはずです。
これを終わらせるために、ホストに戻ってベースディレクトリを作成します (もちろん root ではなく myuser として):
mkdir ~/jetty/localbase
cp ~/jetty/jetty-base.tar.gz ~/jetty/localbase/
cd ~/jetty/localbase/
tar xvzf jetty-base.tar.gz
次に、以前のように起動します。
java -jar $JETTY_HOME/start.jar