もうすぐエンジニアキャリアが1年になります。仕事にも慣れて、開発案件にもスクラムで携わることが多くなりました。
しかし、戦力としてはまだまだ・・・ww 早く会社とチームに貢献できるだけのスキルを習得するため、日々学習を続けています!
そんな中で、最近Dockerの学習をしていたら気になることがありましたので投稿します!
1.Dockerコンテナが起動しない
先日、Dockerの学習をするため、Dockerイメージをプルした後に docker run
でコンテナ作成 → docker start
でコンテナを起動させようとしたらコンテナが起動しませんでした...
作業の流れ
~ $ docker pull centos #centosのイメージをプル
~ $ docker run 5d0da3dc9764 #コンテナ作成
~ $ docker ps -a #作成したコンテナIDを確認
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1ae22864372 5d0da3dc9764 "/bin/bash" 5 minutes ago Exited (0) 5 minutes ago lucid_cray
コンテナを作成するところまではうまくいきました
コンテナがexit状態になっているのでdocker start
で起動させます
~ $ docker start f1ae22864372 #コンテナを起動
f1ae22864372
~ $ docker ps #コンテナ確認
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
あれ??? コンテナが起動していませんね・・・?そしてエラーも出てない??
いつもだったらdocker ps
で確認するとコンテナIDや名前が出てくるはずですが、突然でした・・・
2.調査
ネットで調べましたが有力な情報がなかなか出てきません
困ったな・・・
3.解決
「まてよ、もしdocker run -it 5d0da3dc9764 bash
コマンドで一気にコンテナに入ったらどうなるかな?」
と思ったので早速実験しました。
*先程作ったコンテナは削除しました!
~ $ docker images #イメージ確認
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 5d0da3dc9764 15 months ago 231MB
~ $ docker run exec -it 5d0da3dc9764 bash #コンテナを作成・起動した直後コンテナに入る
[root@992c4a771552 /]#
お!!入れた!!
一度コンテナから抜けて、コンテナを起動・停止できるか確かめてみます!
[root@992c4a771552 /]# exit #コンテナから抜ける
exit
~ $ docker ps -a #コンテナ確認
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
992c4a771552 5d0da3dc9764 "bash" 6 minutes ago Exited (0) 6 minutes ago recursing_galois
~ $ docker start 992c4a771552 #コンテナ起動
992c4a771552
~ $ docker ps #コンテナ確認(up状態のコンテナのみ)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
992c4a771552 5d0da3dc9764 "bash" 9 minutes ago Up About a minute recursing_galois
~ $ docker exec -it 992c4a771552 bash #コンテナに入る
[root@992c4a771552 /]#
コンテナ起動・停止やコンテナに入ったり抜けたりを試しましたが、うまく行ったようですね!!
4.原因
お恥ずかしながら、原因については分かりませんでした...(泣)
しかし、今回分かったことはDockerイメージからコンテナを作成する場合はdocker run -it **イメージID** bash
コマンドでコンテナを作成しないと起動ができないことです。もし、docker run **イメージ名**
のコマンドでコンテナを作成した場合docker start
でコンテナを起動出来なくなるようです。作成したコンテナ使えないので捨てる以外に方法がなくなります
以前、Dockerを使っていたときはこんなことは起きなかったのですが、突然このような現象が起きました。なんか環境が変わったのかな??
もし、ご存知の方がいらっしゃいましたら教えていただけるとありがたいです!