
ショコラ
ドッカーで1度起動したコンテナを落として、ボリュームを再マウントするには?
ドッカーファイルの中に VOLUME の記述があれば、コンテナ起動時にボリュームの指定がなくてもボリュームは作られているでキメマス。

もっさん先輩
手順
- ポストグレスコンテナを起動します。
docker run --name postgres -e POSTGRES_PASSWORD=123456 postgres:14.2
- ポストグレスコンテナが使用している volume を確認します。
docker inspect postgres
"Mounts": [
{
"Type": "volume",
"Name": "ad197d1ab1c95d60c8ffdac90fd54d2e291a3bcabc751c4ba1c2224cdee4406d",
"Source": "/var/lib/docker/volumes/ad197d1ab1c95d60c8ffdac90fd54d2e291a3bcabc751c4ba1c2224cdee4406d/_data",
"Destination": "/var/lib/postgresql/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
ポイントはボリューム名の Name とマウント先の Destination です。
- ポストグレスコンテナを落とします。
docker rm -f postgres
- 前回のボリュームを再マウントして、ポストグレスコンテナを起動します。
docker run --name postgres\
--mount source=ad197d1ab1c95d60c8ffdac90fd54d2e291a3bcabc751c4ba1c2224cdee4406d,target=/var/lib/postgresql/data\
postgres:14.2