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

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

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

一、容器修改端口映射

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

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

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

參數(shù)說明

-d 表示后臺(tái)運(yùn)行容器

-t 為docker分配一個(gè)偽終端并綁定到容器的標(biāo)準(zhǔn)輸入上

-i 是讓容器的標(biāo)準(zhǔn)輸入保持打開狀態(tài)

-p 指定映射端口

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

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

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

查看容器信息:

docker ps -a

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

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

查找要修改容器的容器Id

docker inspect f244 | grep Id

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

若該容器還在運(yùn)行,先停掉

docker stop 容器ID

停掉docker服務(wù)

systemctl stop docker

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

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

改完之后保存啟動(dòng)docker

systemctl start docker

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

附注:

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

docker commit -a "king西陽(yáng)" -m "a new image" [容器名稱或id] [打包的鏡像名稱]:[標(biāo)簽]

常用OPTIONS說明:

-a :提交的鏡像作者

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

-m :提交時(shí)的說明文字

-p :在commit時(shí),將容器暫停

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

netstat -an |grep 宿主機(jī)的映射端口

如果有進(jìn)程存在則表示有映射

二、容器修改目錄映射

問題背景

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

• 創(chuàng)建容器時(shí),指定了目錄映射(-v)
• 如果容器運(yùn)行之后發(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)點(diǎn)

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

缺點(diǎn)

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

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

暫停 Docker 服務(wù)

systemctl stop docker

進(jìn)入 Docker 容器配置文件目錄下

cd /var/lib/docker/containers/
ls

進(jìn)入某個(gè)容器的配置文件目錄下

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

cd c614b6db4aed0c8d0c742baa09ff4e2c24761703586460b68633d7b66e62c633
ls

修改 config.v2.json

vim config.v2.json

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

也可以找到 MountPoints

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

若需要重新指定容器上的映射目錄,則改藍(lán)圈的兩個(gè)地方

MountPoints 節(jié)點(diǎn)

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

重新啟動(dòng) Docker 服務(wù)

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

重新映射目錄成功??!

注意

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

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

• 改 hostconfig.json 并不會(huì)成功哦

優(yōu)點(diǎn)

直接操作配置文件沒有副作用,算簡(jiǎn)單

缺點(diǎn)

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

使用 docker commit 命令

停止 Docker 容器

docker stop tomcat7

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

docker commit tomcat7 new_tomcat7
docker images

使用新鏡像重新創(chuàng)建一個(gè) 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)點(diǎn)

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

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

缺點(diǎn)

需要生成新的鏡像和容器,管理鏡像和容器的時(shí)間成本會(huì)上升

總結(jié)

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

相關(guān)文章

最新評(píng)論

孝昌县| 滨海县| 内江市| 芜湖县| 漳平市| 天峻县| 伊宁市| 宿松县| 长宁区| 惠州市| 柯坪县| 岱山县| 康平县| 丰县| 昌都县| 建始县| 长顺县| 五常市| 云龙县| 密云县| 马尔康县| 湘潭县| 三河市| 昔阳县| 凉城县| 延津县| 永和县| 伊吾县| 芦山县| 嫩江县| 余姚市| 固始县| 台前县| 项城市| 新泰市| 苍南县| 韶关市| 文山县| 上犹县| 乐昌市| 吐鲁番市|