Docker 數(shù)據(jù)持久化可以通過以下幾種方式實(shí)現(xiàn):
使用 Docker 卷(推薦):
docker volume create my_volume
docker run -v my_volume:/data ubuntu:latest /bin/bash
/data
目錄就會(huì)映射到宿主機(jī)的 my_volume
目錄,任何在該目錄下的更改都會(huì)持久化。使用綁定掛載:
mkdir /path/to/host/directory
docker run -v /path/to/host/directory:/data ubuntu:latest /bin/bash
/data
目錄就會(huì)映射到宿主機(jī)的 /path/to/host/directory
目錄,任何在該目錄下的更改都會(huì)持久化。使用 tmpfs:
tmpfs
是 Linux 內(nèi)核提供的一種內(nèi)存文件系統(tǒng),它可以用來存儲(chǔ)臨時(shí)數(shù)據(jù)。tmpfs
掛載點(diǎn)并運(yùn)行容器,例如:docker run -v tmpfs:/data ubuntu:latest /bin/bash
/data
目錄就會(huì)映射到一個(gè) tmpfs
文件系統(tǒng),所有在該目錄下的更改都會(huì)在容器退出時(shí)丟失。使用數(shù)據(jù)卷容器:
docker run --name data_volume_container -v /path/to/host/directory:/data ubuntu:latest /bin/bash
docker run --rm -v $(pwd):/backup ubuntu:latest tar cvf /backup/backup.tar /data
選擇哪種方式取決于你的具體需求。對于大多數(shù)應(yīng)用來說,使用 Docker 卷是最簡單和最推薦的方法,因?yàn)樗峁┝肆己玫男阅芎统志眯员WC。