2017-01-03 8 views
0

私はJhipsterをドッカーからウィンドウの下に使用します。Jhipsterのドッカー画像の同期フォルダ

私はtutoに従っていますが、ドッカーの画像で変更を同期できません。

私はジプスターから自分のイメージを持ちたいと思っています。私は、元jhipster Dockerfileをコピーして、最初の行とADD . /app

FROM ubuntu:trusty 

ADD . /app 

ENV JHIPSTER_SLEEP 0 

# add directly the war 
ADD *.war /app.war 

RUN sh -c 'touch /app.war' 
VOLUME /tmp 
EXPOSE 8080 
CMD echo "The application will start in ${JHIPSTER_SLEEP}s..." && \ 
    sleep ${JHIPSTER_SLEEP} && \ 
    java -Djava.security.egd=file:/dev/./urandom -jar /app.war 

を交換し、私はdocker imagesではなくリポジトリタグせずに画像を参照してください私のDockerfileで1

[email protected] MINGW64 ~/jhipster/app/src/main/docker 
$ docker build -t general03-jhipster . 
Sending build context to Docker daemon 5.632 kB 
Step 1 : FROM jhipster/jhipster 
---> 0ae13f5d5a79 
Step 2 : ADD . /app 
---> Using cache 
---> 1a8aaf63bf7e 
Step 3 : ENV JHIPSTER_SLEEP 0 
---> Using cache 
---> 67a9ab5ce70a 
Step 4 : ADD *.war /app.war 
No source files were specified 

新しいを作成します! 私はdocker run 67a9ab5ce70aを起動しようとするので、私はこのエラーを持っている

C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: No command specified.docker run 67a9ab5ce70a 

誰かがドッキングウィンドウの画像に私の地元の変更をプッシュする私を助けることができますか?

+0

はあなたのドッキングウィンドウのビルドコマンドの出力を提供することができ、これを変更することができますか? – BMitch

+0

あなたのDockerfile、特にCMDやENTRYPOINTの行を表示するには、これら2つのディレクティブに何も指定しないで、 'docker run 67'やシェルなどのコマンドを追加する必要があります。 – user2915097

答えて

0

あなたは

docker build -t general03-jhipster . 

を言うとき、それは意味 "ビルドにあるドッキングウィンドウのファイルに基づいて、名前general03-jhipsterとのドッキングウィンドウの画像を。"

だから、引数がなくてもdocker run general03-jhipsterで実行する必要があります。ポートバインディングを提供するまでは動作しません。

これが失敗した場合、デフォルトJHipster構成と のdevのプロファイルの

あなたはpropably PRODモードで開始し、

docker run --rm -p 8080:8080 general03-jhipster 

を実行する必要がありますので、バインディング、いくつかのデータベースを必要とします。コマンドラインでこれを渡すと、乱雑になることがあります。ここでは、...

編集、JHipsters Docker compose supportに見てみる必要があるすべてのデータベースを管理するために、ドッキングウィンドウのコンを使用するように、elasticsearchインスタンスなど:私はここに

Step 4 : ADD *.war /app.war 
No source files were specified 

エラー初めて気づいていなかったがだから簡単です、あなたはwarファイルを生成しなかったので、明らかにdockerビルドは失敗します。

使用

./mvnw package -Pprod docker:build 

または

./gradlew build -Pprod bootRepackage buildDocker 

適切なドッキングウィンドウビルドを生成します。

あなたには、いくつかのドッキングウィンドウの特定が考える(および使用のGradle)を変更したい場合は、「Gradleの/ docker.gradle」

+0

あなたの答えに感謝します。間違いはドッカーファイルにあります。それはよく書かれていますか? – general03

+0

はい、あなたは**ステップ4 **について正しいです、私は問題を創設しました。そして、あなたのために**ステップ2 **は正しいですか?私はそれがむしろ 'COPY ../../../app/app'だと思います。 – general03

+0

いいえ。ドッカーファイルは、正しいフォルダ内のmaven/gradleタスクを介してコピーされます。手動のドッカーコマンドよりビルドタスクを使用することを常にお勧めします。これを手作業でやってみると、ドッキングファイルがビルドタスクで提供されている別の構成をとるので、失敗しました –

関連する問題