您好,登錄后才能下訂單哦!
今天小編給大家分享一下docker compose數(shù)據(jù)卷volumes掛載規(guī)則是什么的相關(guān)知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
# add this file # default MySQL root password is 123456 version: '3.1' services: mysql: image: mysql:5.7 container_name: mysql_5.7 restart: always ports: - 3305:3306 volumes: - ./mysql_config/conf.d:/etc/mysql/conf.d - ./mysql_data:/var/lib/mysql - ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d environment: MYSQL_ROOT_PASSWORD: 123456
數(shù)據(jù)卷的掛載,是從host到container的,相當于linux系統(tǒng)中將host文件夾掛載在container的指定目錄下,若掛載位置有文件/文件夾,則原文件夾隱藏,unmount后原文件夾恢復(fù)。
宿主機目錄對應(yīng)的物理儲存地址被容器和宿主機操作系統(tǒng)同時管理。
宿主機目錄可以看成一個硬盤被掛載在容器目錄下
宿主機的目錄和容器的目錄可以看成兩個指針指向同一個物理地址
非空容器目錄為什么不行?數(shù)據(jù)卷的意義在于數(shù)據(jù)持久化,將應(yīng)用數(shù)據(jù)分離,因此數(shù)據(jù)在宿主機,若容器目錄非空,會造成邏輯沖突,也就是怎樣去同步宿主機目錄和容器目錄,解決兩邊文件的差異。因此只能掛載在容器中的空目錄下。
若掛載的是目錄,容器目錄要為空目錄
若容器目錄不存在,也可以掛載會自動創(chuàng)建
volumes基本規(guī)則->*文件夾:文件夾;文件:文件
只要指定目錄掛載就會刪除容器內(nèi)的同名文件夾,例如:將mysql的配置目錄映射出容器,就會被代替為宿主機的對應(yīng)文件夾內(nèi)容,無法在compose層面將原本的配置文件copy到宿主機。但是目前,docker-compose不支持類似docker cp的功能將容器內(nèi)的文件復(fù)制到宿主機。想要將容器內(nèi)文件復(fù)制出容器的解決的方法只有通過手動或腳本執(zhí)行docker cp。
以上就是“docker compose數(shù)據(jù)卷volumes掛載規(guī)則是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。