2017-09-09 6 views
1

Dockerの新機能ですので、私に同行してください。私はAlpine Dockerfileでdocker-composeを使用しようとしています。理想的には私は私が私のドッキングウィンドウ-compose.ymlドッカーコンテナでスクリプトを実行しています

マウントされたボリューム内で参照
version: '3' 

services: 
solr-service: 
    build: ./solr-service 
    volumes: 
    - /Users/asdf/customsolr/trunk:/asdf/customsolr/trunk 
    ports: 
    - 8801:8801 

の私のマウントされたボリュームでシェルスクリプトを持っている高山画像をスピンアップし、それが

FROM alpine:edge 

を実行し続ける必要があるだろう/Users/asdf/customsolr/trunk/startsolr.sh私は実行して実行するためのあらゆる種類のアプローチを試したスクリプトがあります。基本的に私がDockerの外にある自分のマシンでローカルに実行すると、ミニカスタムのjettyインスタンスでそのディレクトリ内のファイルを回転させます。 RUNまたはCMDを使用してスクリプトを呼び出そうとすると、ドッカーコンテナはすでに終了しているか、必要なstartup.jarが見つからないことがあります。

#!/bin/sh 

export DEBUG_ARGS='' 
export DEBUG_ARGS='-Xdebug - 
Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8909' 

java -Xms512M -Xmx1024M $DEBUG_ARGS -Dfile.encoding=UTF8 -server -Dsolr.solr.home=cores -Dsolr.useFilterForSort=false -Djetty.home=_container -Djetty.logs=_container/logs -jar _container/start.jar 

私が間違っていることのアイデアはありますか?

+0

ビルドしているイメージのエントリポイントまたは 'cmd'とは何ですか? – mkobit

+3

dockerfileとログをポストしてください。 –

答えて

0

アルパイン画像にはjavaがインストールされていないので、Dockerfile内の画像に追加しない限り、スクリプトはただ完了し、コンテナはすぐに存在すると言えます。

Dockerfile、完全なdocker-compose.ymlおよびログをコンテナから提供すると便利です。

関連する問題