初めまして!
Qiita初投稿です。
職業はプログラマーとは全く関係がありませんが、プログラマーに憧れて最近勉強し始めました!同じような境遇の方、一緒に頑張りましょう!
何かとDocker使いたい
ほんの少しdockerが使えるようになり、嬉しかった(調子に乗った)ので、すでにホストにpythonの環境が整っているのにも関わらず、dockerでpython3イメージからコンテナを作ってみようと思い、早速洗礼を受けたというお話です。
Exited (0)の洗礼
↓これでいけるだろうと高をくくっていました。
docker run --name dl python
しかし
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
あれ?コンテナ起動してないけどrun
したらコンテナ起動するんじゃなかったっけ?
一応確かめます。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5a8b2e35c47 python "python3" 7 seconds ago Exited (0) 5 seconds ago dl
コンテナは作れているけどExited (0)です。
動じない僕
いや、大丈夫。なんてったって、僕はdocker start
も知っているからね。
$ docker start dl
dl
これでいけるはず!!!
動じる僕
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
・・・なんでやねん!
$ docker exec -it dl bash
Error response from daemon: Container [...] is not running
・・・どうしたらええねん!さっきdocker start
させたやん!
偶然の解決
・・・いろいろ悩みましたが、これでなぜかいけました。
docker run -it --name dl python bash
root@f45107d69802:/# exit
↓コンテナからexit
で抜けてもこの通り!
$ docker start dl
dl
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f45107d69802 python "bash" About a minute ago Up 3 seconds dl
docker start
できちんと起動しています!
まとめ
dockerでpythonのコンテナを作るときは、-it ... bash
が必須なのでしょうか?
原因はよくわかっていませんが、いつかこの投稿を見直した時にはわかっていると信じて、とりあえず先に進みます!早くDeepLearning勉強してみたい!!
・・・でも、やっぱり原因がわからないのも気持ち悪いので、何かアドバイスいただけるともっと嬉しいです。よろしくお願いします。