0

同じイメージ、コンテナ A、および B から 2 つのコンテナを実行する場合

ドライブを使用せずに、コンテナ A にパッケージ AA をインストールし、コンテナ B にパッケージ BB をインストールしたとします。

問題は、コンテナーは完全にステートレスなのかということです。これらのコンテナをまだ使用している限り、インストールされたパッケージはどこに保存されますか? コンテナ B からパッケージ AA にアクセスできますか? またその逆も可能ですか?

4

1 に答える 1

3

コンテナーはステートレスではなく、ステートフルです。各コンテナは、基本イメージの上に独自の完全所有の一意のオーバーレイ ファイルシステムを取得します。これらのコンテナーごとの変更 (状態) は互いに分離されているため、コンテナー B からパッケージ AA にアクセスすることはできません。docker rm container-aコンテナー A の固有のオーバーレイを削除するだけで、基本イメージは変更されません。docker startこれは、とdocker runが異なるコマンドである理由の一部です。これはrun、新しいコンテナーを作成することを意味するため、コンテナーごとの新しい状態 (最初は基本イメージ以外のものはありません) をstart意味するのに対し、「最後に保存された状態を使用してコンテナーを実行する」ことを意味します。停止"。

于 2016-03-20T04:43:17.327 に答える