對(duì)于Docker容器中的映射路徑,默認(rèn)路徑是Docker主機(jī)上的路徑,并且容器內(nèi)的文件會(huì)直接映射到主機(jī)中。但在某些情況下,我們可能需要修改映射路徑,可以使用以下方法。
//在容器創(chuàng)建時(shí)使用-v參數(shù),指定容器內(nèi)路徑和主機(jī)路徑的映射 docker run -v [容器內(nèi)路徑]:[主機(jī)路徑] [鏡像名稱] [容器啟動(dòng)命令] 例: docker run -v /root/data:/var/lib/mysql mysql:latest bash
以上命令中,-v參數(shù)用于設(shè)置映射路徑,第一個(gè)路徑表示容器內(nèi)路徑,第二個(gè)路徑表示主機(jī)路徑,兩個(gè)路徑以“:”進(jìn)行分隔,映射路徑可以使絕對(duì)路徑或相對(duì)路徑。
//使用--mount參數(shù)指定容器內(nèi)路徑和主機(jī)路徑的映射 docker run --mount type=bind,source=[主機(jī)路徑],target=[容器內(nèi)路徑] [鏡像名稱] [容器啟動(dòng)命令] 例: docker run --mount type=bind,source=/root/data,target=/var/lib/mysql mysql:latest bash
以上命令中,--mount參數(shù)用于設(shè)置映射路徑,source表示主機(jī)路徑,target表示容器內(nèi)路徑,映射路徑可以使絕對(duì)路徑或相對(duì)路徑。
另外,如果需要更改容器內(nèi)映射路徑對(duì)應(yīng)的主機(jī)路徑,可以使用以下方法:
//先停止容器 docker stop [容器名稱/容器ID] //刪除容器內(nèi)的映射路徑 docker container prune -f //重新啟動(dòng)容器,指定新的映射路徑 docker run -v [新的容器內(nèi)路徑]:[新的主機(jī)路徑] [鏡像名稱] [容器啟動(dòng)命令]
以上方法用于刪除舊的映射路徑,并重新將新的映射路徑進(jìn)行映射。