質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

4661閲覧

docker-compose upすると最後の行にdocker_app_1 exited with code 0と出ます

ayaka1802

総合スコア1

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2021/06/22 07:52

前提・実現したいこと

dockerでjavaのSpringフレームワークを使ってCRUDを実装したECサイトを作ろうとしています。
502 Bad Gatewayとなり、サーバー側でのエラーです。
ターミナルでdocker-compose upすると最後の行にdocker_app_1 exited with code 0と出ます。

docker-compose upの結果

app_1 | [INFO] ------------------------------------------------------------------------ app_1 | [INFO] BUILD SUCCESS app_1 | [INFO] ------------------------------------------------------------------------ app_1 | [INFO] Total time: 31.570 s app_1 | [INFO] Finished at: 2021-06-22T16:19:04+09:00 app_1 | [INFO] ------------------------------------------------------------------------ docker_app_1 exited with code 0

psコマンドの結果

docker_app_1が立ち上がっていません

docker % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e80b6ade02cc docker_web "/docker-entrypoint.…" 14 minutes ago Up 14 minutes 80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp docker_web_1 2c74a5b1b856 docker_db "docker-entrypoint.s…" 14 minutes ago Up 14 minutes 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp docker_db_1

docker-compose.yml

調べたところttty: trueとstdin_open: trueを足せばできたという方がいたのでやってみましたが変わりませんでした。

compose

1version: '3' 2services: 3 db: 4 build: containers/mysql 5 env_file: 6 - ./environments/common.env 7 - ./environments/db.env 8 volumes: 9 - ../volumes/db/data:/var/lib/mysql 10 ports: 11 - 3306:3306 12 app: 13 build: containers/spring 14 env_file: 15 - ./environments/common.env 16 - ./environments/db.env 17 18 command: ./mvnw clean spring-boot:run -Dspring-boot.run.jvmArguments="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005" 19 volumes: 20 - ../volumes/app:/app 21 22 - ../volumes/app/.m2:/root/.m2 23 ports: 24 - 8080:8080 25 - 5005:5005 26 depends_on: 27 - db 28 web: 29 build: containers/nginx 30 env_file: 31 - ./environments/common.env 32 volumes: 33 - ../volumes/web/static:/usr/share/nginx/www/ 34 - ../volumes/web/ssl:/etc/nginx/cert/ 35 - ../volumes/web/log:/var/log/nginx/ 36 ports: 37 - 443:443 38 tty: true 39 stdin_open: true 40 depends_on: 41 - app 42

補足情報(FW/ツールのバージョンなど)

STS4,docker,MySQLWorkbenchを使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

docker_app_1 exited with code 0 と出ていて、かつ他にはメッセージが出ていませんので、この「app」コンテナ(サービス)の実行は、正常終了しているように見えます。

言い換えますと、一度起動した後、コマンドを実行し、終了しているように見えます。仮に実行時にエラーが出ていれば、何らかのエラーコードが返っているはずです。

また、 502 Bad Gateway が出ているのは、この「app」コンテナが起動していないためです。

確認方法としては「app:」で定義しているコンテナの「Dockerfile」で、正しくアプリケーションを正常に実行できているかどうかの確認が1つです。

Docker Compose ではなく、単体の Docker コンテナとして起動できるかどうか確認する必要があります。

次に「command: ./mvnw clean spring-boot:run...」以下の記述が正しいかどうかの確認です。

仮に Dockerfile の記述が正しければ(ENTRYPOINTやCMDなどの命令が適切に書かれているのであれば)、この command: の記述が不適切と考えられます。

投稿2021/06/22 13:24

zembutsu

総合スコア1584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ayaka1802

2021/06/23 14:21 編集

docker start docker_app_1 のコマンドで立ち上げてみるってことですよね、、
ayaka1802

2021/06/23 14:29

docker composeじゃなくてdockerでもおちちゃいます
zembutsu

2021/06/23 23:06

「exit 0」の状態が続いているようであれば、落ちているかのように見えるかもしれませんが、コンテナでのプロセスは、何らかの処理を正常に処理し、終了したという状態になります。確認方法としては、たとえば「app側」で「tty: true」「stdin_open: true」などを付け、「/bin/bash」を実行するようにすると、シェルが実行し続けますので、この場合は止まらないはずです。 また、「build: containers/spring」にある Dockerfile の内容も掲載いただければ、なにかしら原因なり対処方法が分かるかもしれません。
ayaka1802

2021/06/25 03:47

こちらcontainers/springにあるDockerfileです Last login: Fri Jun 25 12:40:40 on ttys000 /Users/ayaka3/git/menta/springboot-dev-docker-template-master/docker/containers/spring/Dockerfile ; exit; ayaka3@AyakanoMacBook-Air ~ % /Users/ayaka3/git/menta/springboot-dev-docker-template-master/docker/containers/spring/Dockerfile ; exit; FROM: can't read /var/mail/openjdk:11 /Users/ayaka3/git/menta/springboot-dev-docker-template-master/docker/containers/spring/Dockerfile: line 3: WORKDIR: command not found [プロセスが完了しました]
zembutsu

2021/06/29 23:19

この「Dockerfile」の内容を記載いただくことはできませんでしょうか。「Last login:」からの記述は、ターミナルでの結果です。「Dockerfile」というファイルは、「cat /Users/ayaka3/git/menta/springboot-dev-docker-template-master/docker/containers/spring/Dockerfile 」で見られます。 また、この手順をすすめるにあたり、何か参考にされたサイトなりURLがあれば、それも書いていただければ何かしらアドバイスができると思います。 繰り返しになりますが、現状では原因を調べようにも調べようがない状態です。 料理に例えますと、「思い通りの味にならない」という状況ですので、私はレシピを見せていただけませんか?とお願いしています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問