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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

3回答

12527閲覧

docker-composで起動したコンテナがすぐに停止する

退会済みユーザー

退会済みユーザー

総合スコア0

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2018/10/28 09:58

Docker-compose試し中です、が
コンテナが起動せず困っています。

./docker-compose.yml

version: '3' services: app: build: context: ./ dockerfile: dockerfiles/app.dockerfile working_dir: /var/www ports: - "8000:80"

./dockerfiles/app.dockerfile

FROM centos:7

docker-compose up -d

上記実行後にプロセスを見てみるとありませんでした。

docker ps
→ない

docker ps -a
→ある

ということは、コンテナの起動はしていたが、停止したということです。

勝手に停止するのでしょうか。

また、停止しているCONTAINER IDをもとに起動させても起動しません。

docker container start CONTAINER ID

また、docker-composeを使用せずに、

docker build -t test/app -f app.dockerfile .

でイメージを作成し

docker run exec -it test/app bash

で起動すると、もちろんコンソールに接続できます。

exitで抜けるとコンテナは停止しますが、

停止したコンテナのプロセスをしらべ

docker container start CONTAINER ID

を実行すると、起動します。

この2つの違いは何でしょう?

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

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

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

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

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

guest

回答3

0

ベストアンサー

docker-compose logs
コマンドで状況を確認しましょう。
イメージの起動に失敗すると簡単に停止します。

投稿2018/10/30 10:55

t_obara

総合スコア5488

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

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

退会済みユーザー

退会済みユーザー

2018/11/14 10:29

ありがとうございます logを確認したところいろいろとエラーが発生していいました。
guest

0

このあたりが参考になります

Docker run リファレンス フォアグラウンド

docker-compose.yml

services: app: tty: true

投稿2018/10/29 05:19

IkumiMashiba

総合スコア76

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

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

0

docker run exec -it test/app bash

でコンソールに入れるっていうところがヒントになっているのですが、
使用している Centos/7 のイメージはそれだけでは、たちあがったコンテナ起動時に実行するコマンド(プロセス)が指定されていないので何を動かすか(上記の場合はbash)がないとコンテナが終了しています。

DockerはVirtualboxなどの仮想OSとは違い、動かしたいプロセス(データベース mysqlとかWebサーバー apache,nginxとか)を決めてそのコンテナを起動するものなのです。

docker-compose.yml を見るとwebサーバーを立ち上げたいようですので、Apacheやnginxのコンテナを使用するかDockerfileの中でapacheやnginxをインストールしたものを使用する必要があります。

Apacheのコンテナは docker pull httpd nginxなら docker pull nginx で使用できます。
centosのコンテナは、それをベースにして任意のプロセスのコンテナを作るためのものと考えても良いでしょう
Dockerfileで自分でwebサーバーを入れるなら下記の記事が参考になると思います。

【参考】

投稿2018/10/28 22:01

編集2018/10/28 22:17
euledge

総合スコア2404

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問