最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker容器修改端口和目錄映射的方法步驟

 更新時間:2025年03月27日 10:56:06   作者:AI松子666  
在使用Docker時,容器的端口映射是一個核心概念,它允許容器與宿主機以及外部網(wǎng)絡(luò)進行通信,這篇文章主要介紹了docker容器修改端口和目錄映射的方法步驟,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

一、容器修改端口映射

一般在運行容器時,我們都會通過參數(shù) -p(使用大寫的-P參數(shù)則會隨機選擇宿主機的一個端口進行映射)來指定宿主機和容器端口的映射,例如

docker run -it -d --name [container-name] -p 8088:80 [image-name]

這里是將容器內(nèi)的80端口映射到宿主機的8088端口

參數(shù)說明

-d 表示后臺運行容器

-t 為docker分配一個偽終端并綁定到容器的標準輸入上

-i 是讓容器的標準輸入保持打開狀態(tài)

-p 指定映射端口

在運行容器時指定映射端口運行后,如果想要添加新的端口映射,可以使用以下兩種方式:

方式一:將現(xiàn)有的容器打包成鏡像,然后在使用新的鏡像運行容器時重新指定要映射的端口

方式二:修改要端口映射的容器的配置文件

查看容器信息:

docker ps -a

查看容器的端口映射情況,在容器外執(zhí)行:

docker port 容器ID 或者 docker port 容器名稱

查找要修改容器的容器Id

docker inspect f244 | grep Id

進到/var/lib/docker/containers 目錄下找到與 Id 相同的目錄,修改 hostconfig.json 和 config.v2.json文件:

若該容器還在運行,先停掉

docker stop 容器ID

停掉docker服務(wù)

systemctl stop docker

修改hostconfig.json如下,添加端口綁定"9003/tcp": [{“HostIp”: “”,“HostPort”: “9003”}],表示綁定端口9003

修改config.v2.json在ExposedPorts中加上要暴露的端口,即9003

改完之后保存啟動docker

systemctl start docker

之后可以再次查看添加的端口是否已映射綁定上

附注:

1、將容器打包成鏡像命令:

docker commit -a "king西陽" -m "a new image" [容器名稱或id] [打包的鏡像名稱]:[標簽]

常用OPTIONS說明:

-a :提交的鏡像作者

-c :使用Dockerfile指令來創(chuàng)建鏡像

-m :提交時的說明文字

-p :在commit時,將容器暫停

2、查看宿主機端口是否和容器內(nèi)端口映射成功,在容器外執(zhí)行

netstat -an |grep 宿主機的映射端口

如果有進程存在則表示有映射

二、容器修改目錄映射

問題背景

docker run -d -p 9999:8080 -i --name tomcat7 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7

• 創(chuàng)建容器時,指定了目錄映射(-v)
• 如果容器運行之后發(fā)現(xiàn)目錄映射需要改怎么辦?

刪除原有容器,重新創(chuàng)建新的容器

刪除容器

docker rm -f 容器ID/名字

重新創(chuàng)建容器

 docker run -d -p 9999:8080 -i --name tomcat7 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat:7

重新指定需要映射的目錄

優(yōu)點

簡單粗暴,在測試環(huán)境用的更多

缺點

如果是數(shù)據(jù)庫、服務(wù)器相關(guān)的容器,創(chuàng)建新的容器,又得重新配置相關(guān)東西了

修改容器配置文件(重點)

暫停 Docker 服務(wù)

systemctl stop docker

進入 Docker 容器配置文件目錄下

cd /var/lib/docker/containers/
ls

進入某個容器的配置文件目錄下

容器ID 就是文件夾名稱,可通過 docker ps -aq 來查看,不過這是縮寫,對照起來看就行

cd c614b6db4aed0c8d0c742baa09ff4e2c24761703586460b68633d7b66e62c633
ls

修改 config.v2.json

vim config.v2.json

輸入 / ,搜索映射的目錄(webapps)

也可以找到 MountPoints

若需要重新指定主機上的映射目錄,則改綠圈的兩個地方

若需要重新指定容器上的映射目錄,則改藍圈的兩個地方

MountPoints 節(jié)點

其實是一個 json 結(jié)構(gòu)的數(shù)據(jù),下圖

重新啟動 Docker 服務(wù)

systemctl stop docker
docker start tomcat7
cd /usr/local/tomcat/webapps
ls

重新映射目錄成功??!

注意

• 如果想修改 Docker 容器隨著 Docker 服務(wù)啟動而自啟動,可看:https://www.cnblogs.com/poloyy/p/13985567.html

• 如果想修改 Docker 的映射端口,可看:https://www.cnblogs.com/poloyy/p/13940554.html

• 改 hostconfig.json 并不會成功哦

優(yōu)點

直接操作配置文件沒有副作用,算簡單

缺點

需要暫停 Docker 服務(wù),會影響其他正常運行的 Docker 容器

使用 docker commit 命令

停止 Docker 容器

docker stop tomcat7

使用 commit 構(gòu)建新鏡像

docker commit tomcat7 new_tomcat7
docker images

使用新鏡像重新創(chuàng)建一個 Docker 容器

docker run -d -p 9999:8080 -i --name tomcat77 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat:7

修改新容器的名字

如果新容器想用回舊容器的名字,需要先刪了舊容器,再改名

docker rm -f tomcat7
docker rename tomcat77 tomcat7
docker ps

優(yōu)點

• 無需停止 Docker 服務(wù),不影響其他正在運行的容器

• 舊容器有的配置和數(shù)據(jù),新容器也會有,不會造成數(shù)據(jù)或配置丟失,對新舊容器都沒有任何影響

缺點

需要生成新的鏡像和容器,管理鏡像和容器的時間成本會上升

總結(jié)

到此這篇關(guān)于docker容器修改端口和目錄映射的文章就介紹到這了,更多相關(guān)docker修改端口和目錄映射內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

崇左市| 沂水县| 泰来县| 德昌县| 全椒县| 井陉县| 志丹县| 内乡县| 桐梓县| 丰镇市| 宣城市| 五寨县| 万州区| 古蔺县| 武鸣县| 玉林市| 屏山县| 西充县| 安陆市| 潍坊市| 临泉县| 仁寿县| 丰城市| 庆元县| 思茅市| 墨玉县| 黔江区| 温泉县| 诸城市| 鹤壁市| 新昌县| 静安区| 扬中市| 东乡| 巴彦县| 马尔康县| 克拉玛依市| 南开区| 郯城县| 四川省| 昌宁县|