新聞中心
容器未啟動(dòng)?
如果你的容器還沒有構(gòu)建時(shí),想添加端口映射時(shí),你只需要在創(chuàng)建容器的時(shí)候添加 -p 參數(shù),想添加幾個(gè)端口映射就追加幾個(gè) -p 參數(shù)。類似于如下示例:

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站建設(shè)、淮安區(qū)網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、淮安區(qū)網(wǎng)絡(luò)營銷、淮安區(qū)企業(yè)策劃、淮安區(qū)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供淮安區(qū)建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
docker run --name api_dfo_hyperf_ws \
-v /Users/pudongping/glory/codes/dfo/api_dfo_hyperf:/api_dfo_hyperf \
-p 9502:9502 \
-p 9503:9503 \
-p 9504:9504 \
-p 9505:9505 -it \
--entrypoint /bin/sh \
alex/alex_api_dfo:v1.0
容器已啟動(dòng)?
但是想修改或者添加端口時(shí),先停止掉正在運(yùn)行的容器。
以下內(nèi)容都是以容器 id 為 cbe26510c276 進(jìn)行操作的,請務(wù)必將容器 id 換成你自己需要修改的容器 id。
docker stop {容器的名稱或者 id }比如:
docker stop cbe26510c276
查看容器完整的 hash_of_the_container 數(shù)值:
docker inspect {容器的名稱或者 id } | grep Id
# 比如:
docker inspect cbe26510c276 | grep Id
# 會(huì)得到如下結(jié)果:
# "Id": "cbe26510c276fa9a4487a8c2af8cbb49410f2a5305149d2b26eb8ce37c777d00"打開 hostconfig.json 配置文件:
vim /var/lib/docker/containers/{hash_of_the_container}/hostconfig.json比如:
vim /var/lib/docker/containers/cbe26510c276fa9a4487a8c2af8cbb49410f2a5305149d2b26eb8ce37c777d00/hostconfig.json
如果你不想先查看完整的容器 hash_of_the_container 數(shù)值,你也可以直接先切換到當(dāng)前容器相關(guān)目錄中 cd /var/lib/docker/containers/{hash_of_the_container}* , 然后再去編輯 hostconfig.json 配置文件。
cd /var/lib/docker/containers/{hash_of_the_container}*比如:
cd /var/lib/docker/containers/cbe26510c276*
然后再去編輯 hostconfig.json 配置文件:
vim hostconfig.json
修改 hostconfig.json 配置文件
在 hostconfig.json 配置文件中,找到 "PortBindings":{} 這個(gè)配置項(xiàng),然后進(jìn)行修改。我這里添加了兩個(gè)端口映射,分別將宿主機(jī)的 8502 端口以及 8505 端口映射到容器的 8502 端口和 8505 端口。
HostPort 對(duì)應(yīng)的端口代表 宿主機(jī) 的端口。
建議容器使用什么端口,宿主機(jī)就映射什么端口,方便以后管理。當(dāng)然,具體情況,具體分析。
{
"PortBindings": {
"8502/tcp": [
{
"HostIp": "",
"HostPort": "8502"
}
],
"8505/tcp": [
{
"HostIp": "",
"HostPort": "8505"
}
]
}
}如果 config.v2.json 配置文件或者 config.json 配置文件中也記錄了端口,也需要進(jìn)行修改,如果沒有,就不需要改。
只需要修改 "ExposedPorts": {} 相關(guān)之處。
{
"Args": [],
"Config": {
"ExposedPorts": {
"8502/tcp": {},
"8505/tcp": {}
},
"Entrypoint": [
"/bin/sh"
]
}
}最后重啟 docker,然后查看容器相關(guān)配置信息是否已經(jīng)修改完畢:
# 重啟 docker
service docker restart
# 或者
systemctl restart docker
查看容器相關(guān)配置信息:
docker inspect {容器的名稱或者 id }
# 比如:
docker inspect cbe26510c276配置符合你的要求后,再次啟動(dòng)容器:
docker start {容器的名稱或者 id }
# 比如:
docker start cbe26510c276 分享文章:騷操作!居然能修改已運(yùn)行的Docker容器端口映射?
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/ccdgcoi.html


咨詢
建站咨詢
