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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END