在docker中,我們可以使用卷(Volume)來保存我們的數(shù)據(jù),它是生命周期比容器更長的一種存儲(chǔ)方式。使用卷能夠保證容器的數(shù)據(jù)持久化,即使容器脫離了宿主機(jī),數(shù)據(jù)也能夠被保存在宿主機(jī)中。
使用docker添加卷非常簡單,只需要在運(yùn)行容器時(shí)加上-v參數(shù)并指定本地路徑即可。下面是一個(gè)示例:
docker run -v /host/path:/container/path some-image
其中,/host/path
為本地路徑,在宿主機(jī)上創(chuàng)建并保存容器數(shù)據(jù)的路徑,/container/path
為容器內(nèi)掛載該卷的路徑,some-image
為我們要運(yùn)行的鏡像。
上面的代碼將在容器中創(chuàng)建一個(gè)卷,它將會(huì)被掛載到/container/path
路徑中,而它的數(shù)據(jù)將會(huì)被保存在宿主機(jī)上的/host/path
路徑中。
除了在運(yùn)行容器時(shí)指定卷,我們還可以在Dockerfile中使用VOLUME
指令來添加卷。這樣在以后運(yùn)行該鏡像時(shí)會(huì)自動(dòng)創(chuàng)建并掛載該卷。
VOLUME /container/path
上面的代碼將在鏡像中添加一個(gè)名為/container/path
的卷。
總結(jié):使用卷能夠保證容器中的數(shù)據(jù)持久化,并且在容器被銷毀時(shí)數(shù)據(jù)不會(huì)丟失。使用docker添加卷非常簡單,可以在運(yùn)行容器時(shí)使用-v
參數(shù)指定,也可以在Dockerfile中使用VOLUME
指令添加。