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

ヨメレバCSS
オリジナル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をつけることでコンテナを起動と同時にログインできます。

$ docker start -i (CONTAINER IDまたはNAMES)

 CONTAINER IDは

$ docker ps -a

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

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

参考サイト

| はじめに ここでは公式リファレンスを参考に説明しています。 ただ、バージョンや環境等により若干挙動が異なるかもしれませんが、その点についてはご容赦ください。 また、その他のdockerサブコマンドについてはこちらに記載してい...

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

シェアする

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

コメント

  1. カレーうどん より:

    はい。やらかしていました。ありがとうございます。

    • かげろ より:

      コメントどうもです。お役に立てたのでしたら幸いです。
      私もだいぶ気がつかなかったもので…