8

Docker コンテナについて読んだところ、コンテナを再起動するとデータ (コンテナ内に保存されており、ボリューム データの一部ではない) が失われると話している人を見つけました。

次のような単純なUbuntuコンテナーを作成しようとしました: docker run -it ubuntu /bin/bash、コンテナー内にいくつかのファイルを作成してから再起動しましたが、データはまだそこにあります。なぜそれが実際に起こるのですか?なぜ私のデータがまだそこにあるのですか? これは Docker の新しいバージョンで何か新しいことですか、それとも何か誤解がありますか?

4

2 に答える 2

7

コンテナーが停止または再起動されたときではなく、コンテナーが削除されたときにデータが失われます。

基本的にdocker ps、コンテナが同じ ID (大きく醜い 16 進数の ID) を保持している場合、データは失われません。

docker コンテナーが管理者ではなく、何らかの自動管理方法によって管理されていると、複雑になります。このようなツールは通常、障害が発生した場合に新しいコンテナーを開始します。その場合、データをホストに保存するためにボリュームをマウントする必要があります。

于 2016-11-28T17:59:23.623 に答える
3

コンテナのライフサイクルを確認することをお勧めします: https://github.com/wsargent/docker-cheat-sheet#lifecycle

docker createコンテナを作成しますが、開始しません。

docker renameコンテナの名前を変更できます。

docker run1 回の操作でコンテナーを作成して開始します。

docker rmコンテナを削除します。

docker updateコンテナのリソース制限を更新します。

何度も繰り返すdocker rmdocker run、あなたの状態はもうそこにはありません。

一時的なコンテナーが必要な場合は、docker run --rm停止後にコンテナーを削除します。

于 2016-11-28T17:31:06.340 に答える