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

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

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

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

Q&A

解決済

3回答

3232閲覧

Dockerで構築したubuntuの起動について

barbar

総合スコア11

Docker

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

0グッド

2クリップ

投稿2019/03/19 08:24

docker createによって作成したubuntuコンテナの起動方法がわかりません。

下記のような手順でubuntuを起動しようとしていますができません。

docker pull ubuntu
ubuntuイメージの取り込み

docker create ubuntu
コンテナの作成

docker ps -a
で確認
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
eb9ba54bfd07 ubuntu "/bin/bash" 16 seconds ago Created admiring_goodall

↓ここからが問題です。

コンテナのスタート
docker start eb9ba54bfd07

でSTATUSがupになるかと思ったのですがExitedになってしまいます。
この状態からどのように起動するのでしょうか?

ちなみにdocker run -it ubuntuからコンテナを作成した場合は、うまく起動しました。
docker createによって作成したコンテナの起動方法はどのようにすればよいのでしょうか?

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

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

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

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

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

guest

回答3

0

ベストアンサー

今回のケースなら docker start -ai eb9ba かな
マニュアル参照

普通は run 使った方が簡単だと思います。

以下、追記
上のだけではダメでcreateのときにtty, stdinをつけとかないといけないようです。

docker create -it ubuntu docker start -ai ...

投稿2019/03/19 13:31

編集2019/03/19 21:19
bsdfan

総合スコア4571

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

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

barbar

2019/03/19 15:36

回答誠にありがとうございます。 試してみたのですがdocker start -ai は docker start + docker exe と同じようです。 いずれにせよdocker run -it ubuntuから作成・起動したコンテナを一旦停止して、 再度startする場合には有効なようですが、 docker createで作成したコンテナ(まだ起動したことがないコンテナ)に対してはやはり無効なようです。 2番目の回答のdyoshikawaさんのコメントのように、 一旦createから離れて勉強を続けたいと思います。
bsdfan

2019/03/19 21:13

すいません。これだけではダメだったんですね。 私も調べてみましたが、createのときに、-itのオプションがいるようです。
barbar

2019/03/19 22:12

朝早くの引き続きの回答誠にありがとうございます。 できました! start時のオプションではなく、create時だったのですね。 docker create -it ubuntu でコンテナを作成して、 docker start <CONTAINER ID> docker ps -aで STATUS をUpを確認 docker exec -it <CONTAINER ID> /bin/bash でコンテナに入ることができました。
guest

0

Dockerコンテナが起動するのはプロセスが持続している間だけです。
例えばWebサーバをフォワード実行で起動するなどです。
特にそういったコマンドを ENTRYPOINTCMD に設定していないのであれば docker rundocker start しても起動後すぐに終了するので EXITED となります。

現時点で知識がほとんどないようですからアドバイスすると、まずイメージの設計図である Dockerfile を書き、それを docker build してイメージを作り、そのイメージを docker run で起動するという基本の流れをまずは学習して下さい。

投稿2019/03/19 08:34

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

barbar

2019/03/19 09:09

ご回答誠にありがとうございます。 >特にそういったコマンドを ENTRYPOINT や CMD に設定していないのであれば docker run や docker >start しても起動後すぐに終了するので EXITED となります。 このあたりが鍵になりそうです。勉強になります。 1番目さんの返答にも書いたのですが、docker create ubuntu で作成したコンテナにはどのように入れば良いのでしょうか。 以上宜しくお願いいたします。
退会済みユーザー

退会済みユーザー

2019/03/19 10:23

私はdocker createコマンドを使ったことがないのですが何をするコマンドなんでしょうか?少なくともメジャーなのはbuild→runという認識なので、createはどういった時に必要なのか分かっていないです。
退会済みユーザー

退会済みユーザー

2019/03/19 10:34

ちょっと調べましたがcreateは起動していないコンテナを作るコマンドですね。しかし実際上必要なシチュエーションはかなり少ないと思われるのでcreateコマンドから一旦離れた方が良いと思います。buildとrunを使って下さい。
退会済みユーザー

退会済みユーザー

2019/03/19 10:42

どうしてもcreateを使いたい場合、docker create ubuntuで生成したコンテナに入る方法は私は思いつかないです。起動コマンドがbashなのですぐ終了します。 ですが持続する起動コマンドを持つnginxイメージなら可能です。docker create nginx→docker start コンテナID→docker exec -ti コンテナID bash で入れます。 ただ何度も言うようですがcreateコマンドは使い所がないのでbuildを学びましょう。
barbar

2019/03/19 13:36 編集

丁寧なコメント頂き本当にありがとうございます。 書籍を見ながら勉強しているのですが、Docker Hubからpull済みのイメージ→コンテナを生成する際にはcreateは必須とばかり思っていました。ちょっとbuildとの連関についてこれから調べたいと思います。
guest

0

それ、起動していますよ。
起動しても、やる事が無いのでexitしただけです。

docker run -it ubuntuからコンテナを作成した場合は、うまく起動しました。

ご自身で書かれているとおり、このように起動してやればいいんです。(というか、最後にshだか入れませんでしたか?)

投稿2019/03/19 08:31

yoorwm

総合スコア1305

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

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

barbar

2019/03/19 09:10 編集

ご回答誠にありがとうございます。 すでにubuntuイメージをpullし、 docker run=(docker create + docker start)という認識において再度質問いたします。 docker run -it ubuntu で作成・起動したコンテナから1回exitした場合は、一度STATUSがExitedに変わっても 再度 docker startをするとUpの状態に変わります。 ちょっと疑問がはっきりしてきたので質問を変更してみます。 質問の通りにcreateで作成したコンテナ(eb9ba54bfd07)に入るには、どのようにしたら良いのでしょうか? docker exec -it eb9ba54bfd07 bin/bash のようにして入りたいのですが、そもそもUpにならないと実行できないようです。 (docker run -it ubuntuで生成したコンテナには上記のようなコマンドで入れました。) 以上よろしくお願いいたします(言葉足らずですみません)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問