同じイメージから2つのコンテナを実行する場合、コンテナAおよびBドッカーはコンテナの新しいファイルをどのように管理しますか?
コンテナAにはパッケージAAがインストールされ、コンテナBにはドライブを使用せずにパッケージBBがインストールされているものとします。
質問は、コンテナは完全にステートレスですか?インストールされたパッケージはどこに保管されていますか?コンテナBからパッケージAAにアクセスすることができますか?
同じイメージから2つのコンテナを実行する場合、コンテナAおよびBドッカーはコンテナの新しいファイルをどのように管理しますか?
コンテナAにはパッケージAAがインストールされ、コンテナBにはドライブを使用せずにパッケージBBがインストールされているものとします。
質問は、コンテナは完全にステートレスですか?インストールされたパッケージはどこに保管されていますか?コンテナBからパッケージAAにアクセスすることができますか?
コンテナはステートレスではなく、ステートフルです。各コンテナは、ベースイメージの上に独自の完全に所有されユニークなオーバーレイファイルシステムを取得します。これらのコンテナごとの変更(状態)は互いに分離されているため、コンテナBからパッケージAAにアクセスすることはできません。docker rm container-a
は、コンテナAのユニークなオーバーレイを削除するだけで、ベースイメージは変更されません。これは、docker start
とdocker run
が異なるコマンドである理由の一部であり、run
は新しいコンテナを作成することを意味し、新しいコンテナの状態(最初はベースイメージ以外)を作成することを意味します。start
は、それが最後に止まった時 "。
ありがとうございます – simo