Docker 替換宿主與容器的映射端口和文件路徑的操作方法
在使用 Docker 容器化應(yīng)用程序時(shí),經(jīng)常需要將宿主機(jī)的端口和文件路徑映射到容器中,以便在本地訪問(wèn)容器中的服務(wù)和數(shù)據(jù)。本文將詳細(xì)介紹如何替換和配置 Docker 容器的端口和文件路徑映射。
1. 端口映射
端口映射用于將宿主機(jī)的端口轉(zhuǎn)發(fā)到容器中的端口,這樣可以在宿主機(jī)上通過(guò)指定的端口訪問(wèn)容器中的服務(wù)。
配置端口映射
啟動(dòng)容器時(shí),可以使用 -p
或 --publish
選項(xiàng)來(lái)映射端口:
docker run -d -p 宿主機(jī)端口:容器端口 --name 容器名稱 鏡像名稱
示例
假設(shè)我們有一個(gè)運(yùn)行在容器中的 Web 服務(wù),監(jiān)聽(tīng)端口 80。如果我們希望通過(guò)宿主機(jī)的端口 8080 訪問(wèn)該服務(wù),可以使用以下命令:
docker run -d -p 8080:80 --name my_web_server nginx
在這個(gè)示例中,宿主機(jī)的端口 8080 映射到容器的端口 80,通過(guò)訪問(wèn) http://localhost:8080
就可以訪問(wèn)容器中的 Nginx 服務(wù)。
2. 文件路徑映射
文件路徑映射用于將宿主機(jī)的目錄掛載到容器中,使得容器可以訪問(wèn)和修改宿主機(jī)的文件系統(tǒng)中的數(shù)據(jù)。
配置文件路徑映射
啟動(dòng)容器時(shí),可以使用 -v
或 --volume
選項(xiàng)來(lái)掛載目錄:
docker run -d -v 宿主機(jī)目錄:容器目錄 --name 容器名稱 鏡像名稱
示例
假設(shè)我們希望將宿主機(jī)的 /home/user/data
目錄掛載到容器中的 /data
目錄,可以使用以下命令:
docker run -d -v /home/user/data:/data --name my_data_container busybox
在這個(gè)示例中,宿主機(jī)的 /home/user/data
目錄映射到容器的 /data
目錄,通過(guò)訪問(wèn)容器中的 /data
目錄,就可以訪問(wèn)和操作宿主機(jī)的 /home/user/data
目錄中的文件。
3. 動(dòng)態(tài)替換映射配置
有時(shí)候需要?jiǎng)討B(tài)替換已經(jīng)運(yùn)行的容器的端口和路徑映射。以下是幾種方法:
停止并刪除現(xiàn)有容器
首先,停止并刪除現(xiàn)有容器:
docker stop 容器名稱 docker rm 容器名稱
重新啟動(dòng)容器
使用新的端口和路徑映射重新啟動(dòng)容器:
docker run -d -p 新宿主機(jī)端口:新容器端口 -v 新宿主機(jī)目錄:新容器目錄 --name 新容器名稱 鏡像名稱
示例
假設(shè)我們要將前面的 Web 服務(wù)從宿主機(jī)端口 8080 改為 9090,并將數(shù)據(jù)目錄從 /home/user/data
改為 /home/user/new_data
:
docker stop my_web_server docker rm my_web_server docker run -d -p 9090:80 -v /home/user/new_data:/data --name my_new_web_server nginx
到此這篇關(guān)于Docker 替換宿主與容器的映射端口和文件路徑的文章就介紹到這了,更多相關(guān)Docker 替換宿主與容器的映射端口和文件路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker desktop實(shí)現(xiàn)一分鐘部署searxng
這篇文章主要介紹了docker desktop實(shí)現(xiàn)一分鐘部署searxng,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例
這篇文章主要介紹了Docker 數(shù)據(jù)卷及數(shù)據(jù)容器詳細(xì)介紹及示例的相關(guān)資料,Docker 很強(qiáng)大,不僅部署維護(hù)提高效率,docker和宿主之間的數(shù)據(jù)共享以及docker間的數(shù)據(jù)共享需要好好研究一下,需要的朋友可以參考下2016-11-11Docker Nginx容器制作部署實(shí)現(xiàn)方法
這篇文章主要介紹了Docker Nginx容器制作部署實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11詳解使用?docker?compose?部署?golang?的?Athens?私有代理問(wèn)題
這篇文章主要介紹了使用?docker-compose?部署?golang?的?Athens?私有代理,幫助大家快速學(xué)習(xí)athens 如何構(gòu)建私有代理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04