數據卷
? ? ? ? 數據卷是一個虛擬目錄,是容器內目錄與宿主機目錄之間映射的橋梁。(容器內目錄與宿主機目錄對應的橋梁,修改宿主機對應的目錄,docker會映射到容器內部,相當于修改了容器內的,反之也一樣)數據卷將宿主機目錄映射到容器內目錄,方便我們操作容器內文件,或者方便我們遷移容器產生的數據。
命令
? ? ? ? docker volume create? ? ? ? 創建數據卷
? ? ? ? docker volume ls? ? ? ? ? ? ? ? 查看所有數據卷
? ? ? ? docker volume rm? ? ? ? ? ? ? ? 刪除指定數據卷
? ? ? ? docker volume inspect? ? ? ? 查詢某個數據卷的詳情
? ? ? ? docker volume prune? ? ? ? ? ? 清除數據卷
提示
? ? ? ? 在執行docker run命令時,使用-v數據卷:容器內目錄可以完成數據卷的掛載
? ? ? ? 當創建容器時,如果掛載了數據卷且數據卷不存在,docker會自動創建數據卷
? ? ? ?數據卷 數據卷名稱要唯一
???????容器內目錄 需要在官網查詢對應的文件目錄
例子
? ? ? ? nginx部署靜態資源
? ? ? ? ? ?官網查詢到nginx容器目前為 /usr/share/nginx/html
? ? ? ? ? ?所以啟動nginx命令為
? ? ? ? ? ??docker run -d --name ng -p 80:80 -v nghtml:/usr/share/nginx/html nginx
? ? ? ? ? ? ?
? ? ? ? ? ? ?docker啟動nginx,并掛載數據卷。如宿主機沒有目錄,docker會自動創建目錄與nginx容器目錄映射。
????????
?或者
? ? ? ? -v 本地目錄:容器內目錄
? ? ? ? 本地目錄必須以“/” 或者“./” 開頭,否則會當成數據卷名稱掛載
? ? ? ? 如:
? ? ? ? -v mysql:/var/lib/mysql? 會被識別為一個數據卷叫mysql
????????-v ./mysql:/var/lib/mysql? 會被識別為當前目錄下的mysql目錄
? 例子
? ? ? ? ? mysql掛載/root/mysql/data到容器內/var/lib/mysql
? ? ? ? ? mysql掛載/root/mysql/init到容器內/docker-entrypoint-initdb.d目錄
? ? ? ? ??mysql掛載/root/mysql/config到容器內/etc/mysql/config.d目錄
? ? ? ? 啟動命令
?docker run -d
--name mysql
-p 3306:3306
-e TZ=Asia/Shanghai
-e MYSQL_ROOT_PASSWORD=123
-v /root/mysql/data:/var/lib/mysql
-v /root/mysql/init:/docker-entrypoint-initdb.d
-v /root/mysql/conf:/etc/mysql/conf.d mysql
根據需要配置目錄
? ? ? ?
補充: mkdir創建目錄
????????????docker inspect mysql 查看? ??
????????