Docker文件映射實(shí)現(xiàn)主機(jī)與容器間目錄的雙向映射
在使用Docker進(jìn)行應(yīng)用部署和管理時(shí),本地文件系統(tǒng)和容器中的文件系統(tǒng)之間的交互是一項(xiàng)必不可少的功能。在許多情況下,我們需要在主機(jī)和容器之間共享數(shù)據(jù)或保持?jǐn)?shù)據(jù)的持久性。那么,如何實(shí)現(xiàn)這種互動(dòng)?實(shí)際上,Docker允許我們通過(guò)目錄映射(也被稱為volume映射或掛載)來(lái)處理這些問(wèn)題。
在這篇博客中,將講解如何實(shí)現(xiàn)主機(jī)上的 A 目錄映射到容器 B,以及容器內(nèi)的 C 目錄映射到主機(jī) D。
1. 主機(jī)上的 A 目錄映射到容器 B
要讓主機(jī)上的某個(gè)目錄(設(shè)為A)能夠在Docker容器B中被訪問(wèn),我們可以在運(yùn)行容器時(shí)使用 -v
或 --mount
標(biāo)志。以 -v
參數(shù)為例,指令如下:
docker run -v /path/to/host/A:/path/in/container/B image_name
其中,/path/to/host/A
是主機(jī)上的路徑,/path/in/container/B
是容器內(nèi)的路徑。這個(gè)命令會(huì)在容器B中創(chuàng)建一個(gè)名為B的目錄,該目錄映射到主機(jī)上的目錄A。容器B內(nèi)部對(duì)目錄B的任何改變都會(huì)在主機(jī)的目錄A中反映出來(lái)。
2. 容器里面的C目錄映射到主機(jī)D
對(duì)于容器內(nèi)的目錄C映射到主機(jī)的目錄D,我們可以使用Docker的volume參數(shù)進(jìn)行操作。首先創(chuàng)建一個(gè)新的volume:
docker volume create --driver local --opt o=bind --opt type=none --opt device=/path/to/host/D volumeC
然后,在運(yùn)行容器時(shí)將容器中的目錄C與此volume進(jìn)行掛載:
docker run -v volumeC:/path/in/container/C image_name
3. Docker Compose 文件配置
這些操作也可以通過(guò)Docker Compose來(lái)實(shí)現(xiàn),配置文件docker-compose.yml
如下:
version: '3' services: containerB: image: your-container-image volumes: - /path/to/host/A:/path/in/container/B - volumeC:/path/in/container/C volumes:#與services同級(jí) volumeC: driver_opts: type: none device: /path/to/host/D o: bind
這樣,不僅可以將主機(jī)上的A目錄映射到Docker容器B中,還可以將Docker容器中的C目錄映射到主機(jī)D上。這兩種方法為數(shù)據(jù)在容器和主機(jī)之間的持久化存儲(chǔ)以及共享提供了極大的便利。
Docker的目錄映射功能為我們提供了極大的便利:它不僅可以幫助我們?cè)诔志没鎯?chǔ)和數(shù)據(jù)共享方面節(jié)省大量時(shí)間,而且還使得我們可以更靈活地管理和使用我們的數(shù)據(jù)。
到此這篇關(guān)于Docker文件映射實(shí)現(xiàn)主機(jī)與容器間目錄的雙向映射的文章就介紹到這了,更多相關(guān)Docker 主機(jī)與目錄雙向映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案
今天小編就為大家分享一篇關(guān)于Docker容器內(nèi)不能聯(lián)網(wǎng)的6種解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10詳解使用Docker快速部署ELK環(huán)境(最新5.5.1版本)
這篇文章主要介紹了詳解使用Docker快速部署ELK環(huán)境(最新5.5.1版本),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker將鏡像文件發(fā)布到阿里云的詳細(xì)過(guò)程
這篇文章主要介紹了Docker將鏡像文件發(fā)布到阿里云的操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05docker時(shí)區(qū)問(wèn)題和遷移數(shù)據(jù)問(wèn)題
這篇文章主要介紹了docker時(shí)區(qū)問(wèn)題和遷移數(shù)據(jù)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12使用Docker遷移服務(wù)到離線服務(wù)器的過(guò)程
最近遇到的這個(gè)場(chǎng)景,需要把之前開(kāi)發(fā)的一套系統(tǒng)遷移到一個(gè)離線的服務(wù)器上,這個(gè)服務(wù)器有點(diǎn)麻煩,接入VPN后通過(guò)堡壘機(jī)才能訪問(wèn),速度也很慢,遇到不少坑,本文記錄一下遷移過(guò)程,需要的朋友可以參考下2023-06-06基于alpine用dockerfile創(chuàng)建的爬蟲Scrapy鏡像的實(shí)現(xiàn)
這篇文章主要介紹了基于alpine用dockerfile創(chuàng)建的爬蟲Scrapy鏡像的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12docker部署rabbitmq集群的實(shí)現(xiàn)方法
這篇文章主要介紹了docker部署rabbitmq集群的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Docker部署Ragflow(完美解決502 bad gateway)
本文主要介紹了Docker部署Ragflow,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04