Docker 安裝 MySQL:為何不配置數(shù)據(jù)掛載目錄也會(huì)自動(dòng)創(chuàng)建?

Docker 安裝 MySQL:為何不配置數(shù)據(jù)掛載目錄也會(huì)自動(dòng)創(chuàng)建?

docker 安裝 mysql,為何不配置數(shù)據(jù)掛載目錄也會(huì)自動(dòng)創(chuàng)建?

在安裝 docker 時(shí),如果你沒有為 mysql 配置數(shù)據(jù)掛載目錄,它會(huì)自動(dòng)配置一個(gè)掛載卷,但如果你配置了,啟動(dòng)過程則會(huì)失敗。為何會(huì)出現(xiàn)這種現(xiàn)象呢?

要解決此問題,我們可以參考 dockerfile 中的官方文件。在文件中,我們可以看到,對(duì)于任何 docker run 的疑問,都可以通過 dockerfile 找到答案。

例如,官方 mysql dockerfile 如下:

FROM mysql:8.0.33   CMD ["mysqld"]

從該文件中可以看出,默認(rèn)情況下,mysql 容器將使用一個(gè)匿名掛載卷來存儲(chǔ)數(shù)據(jù)。這就是為什么即使你不配置掛載目錄,它也會(huì)自動(dòng)創(chuàng)建一個(gè)掛載卷的原因。

然而,如果你自己指定了一個(gè)掛載目錄,docker 將使用該目錄而不是匿名掛載卷。在這種情況下,啟動(dòng)過程就會(huì)失敗,因?yàn)樗鼰o法同時(shí)使用兩個(gè)不同的目錄來存儲(chǔ)數(shù)據(jù)。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享