[Docker] 起動するとファイルが消えてしまうときに確認してみること

シェアする

ヨメレバCSS

 Dockerのコンテナを起動したときに、以前したはずの更新や作ったファイルが消えてしまっていた場合があって、確認してみたらなんてことない話だったということ。

スポンサーリンク
GoogleAdSence レクタングル(大)

Dockerにはrunとstartがある

 Dockerではrunとstartというコマンドがあり、runは「イメージからコンテナを作成」、startは「コンテナを起動」となります。

 私がファイルが消えていると勘違いしていたのは、実はdocker runをしていたため、毎回イメージからコンテナが作成されていたのでした。だからdocker ps -aとかすると一回だけしかログインしてないようなコンテナがいっぱいありました。つらい…

 Dockerの挙動として、run -iでコンテナを作成すると、そのままコンテナを起動してログインしてくれるのと、exitしたらコンテナも自動的に終了するので、runが起動コマンドだと勘違いしていたために起こっていました。

 なので、同じようにファイルが消える、という方はrunとstartを間違えていないかを確認してみると救われるかも知れません。

(これをやらかした事例が見当たらなかったのでここに残しておきます…)

startコマンドの使い方

 startは、CONTAINER IDまたはNAMESを指定して起動します。

-iをつけることでコンテナを起動と同時にログインできます。

 CONTAINER IDは

でストップされているコンテナも全て表示されるので、そこから確認できます。

 NAMESで指定する場合は、docker run –name で指定した文字列で起動できます。

参考サイト

##| はじめに ここでは(を参考に説明しています。 ただ、バージョンや環境等により...