0

Windowの下のdockerから Jhipsterを使用します。

チュートリアルに従っていますが、 docker image の変更を同期できません

jhipsterから自分のイメージを持ちたいです。私は新しいものを作成します

general03@L3F2GPK1F9W0 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

私の Dockerfile では、元の 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

そして、REPOSITORYTAGdocker imagesなしで画像が表示されます! したがって、起動しようとすると、このエラーが発生しますdocker run 67a9ab5ce70a

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

ローカルの変更を docker イメージにプッシュするのを手伝ってくれる人はいますか?

4

1 に答える 1

0

あなたが言う時

docker build -t general03-jhipster .

これは、 「にある docker ファイルに基づいて、general03-jhipsterという名前の docker イメージをビルドする」ことを意味します

したがって、通常は で実行する必要がありますdocker run general03-jhipsterが、引数なしでは、ポート バインディングを提供するまで機能しません。

デフォルトの JHipster 構成と開発プロファイル用

あなたは走るべきです

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

これが失敗した場合は、おそらく prod モードで開始するため、データベース バインドが必要です。コマンドラインでこれを渡すと、面倒になる可能性があります。ここでは、JHipsters Docker compose supportを見て、docker composeを使用してすべてのデータベース、elasticsearch インスタンスなどを管理する必要があります。

編集:ここで初めてエラーに気づきませんでした

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

簡単です。war ファイルを生成していないので、docker ビルドが失敗することは明らかです。

使用する

./mvnw package -Pprod docker:build

また

./gradlew build -Pprod bootRepackage buildDocker

適切な docker ビルドを生成します。

ドッカー固有の考え方を変更したい場合 (および gradle を使用している場合)、「gradle/docker.gradle」でこれを変更できます。

于 2017-01-04T14:07:11.280 に答える