docker容器啟動后如何修改或添加端口
在docker run創(chuàng)建并運行容器的時候,可以通過-p指定端口映射規(guī)則。
但是,大家可能也會遇到需要繼續(xù)添加2個或者3個端口進行映射的問題。
一、通常間接的辦法
保存鏡像,再創(chuàng)建一個新的容器,在創(chuàng)建時指定多個端口映射。
1)停止docker容器
docker stop container01
2)commit該docker容器
docker commit container01 new_image:tag
3)用前一步新生成的鏡像重新起一個容器,其中1888
是服務器的端口,8888
是容器的端口
docker run --name container02 -p 1888:8888 new_image:tag
這種方式的優(yōu)點是不會影響統(tǒng)一宿主機上的其他容器,缺點是管理起來顯得比較亂。
二、修改文件端口,重啟docker服務
1)停止docker(一定要先停止dokcer,不然直接修改配置文件不會生效)
systemctl stop docker
2)進入docker文件夾,找到容器的位置:
如果不是root用戶查看的話,可能會出現(xiàn)權限不夠的問題,可以通過chown更改文件夾權限,docker的默認文件夾應該是/var/lib/docker
,這里我已經將默認文件夾的位置移動到了/sda1/docker/docker
:
sudo chown -R apr:user /sda1/docker/docker
其中,apr表示用戶當前所在的用戶組,user表示用戶賬戶名稱,可以使用groups user
查看用戶user所在的用戶組
3)進入docker目錄下的containner文件夾:
4)在這里能看到已經創(chuàng)建的容器id文件夾,在terminal中輸入docker ps -a
查看需要修改的容器ID:
5)進入對應的容器文件夾:
6)先修改這個容器的hostconfig.json文件中的端口
如果之前沒有端口映射, 應該有這樣的一段:
“PortBindings”:{}
增加一個映射, 這樣寫:
“PortBindings”:{“8888/tcp”:[{“HostIp”:””,“HostPort”:“1888”}]}
前一個數(shù)字是容器端口, 后一個是宿主機端口。將宿主機的1888端口映射到容器的8888端口
如果增加多個,就是
“PortBindings”:{“8888/tcp”:[{“HostIp”:””,“HostPort”:“1888”}],“6006/tcp”:[{“HostIp”:””,“HostPort”:“1006”}]}
將宿主機的1888和1006端口映射到容器的8888和6006端口
而修改現(xiàn)有端口映射更簡單, 把端口號改掉就行。
7)如果config.v2.json里面也記錄了端口,需要修改ExportPorts
8)重啟docker服務
systemctl restart docker
9)查看配置項已經修改成功
docker inspect CONTAINER ID
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
在docker-compose.yml文件中配置容器的環(huán)境變量方式
本文介紹了在docker-compose.yml文件中設置和使用環(huán)境變量的方法,包括直接設置環(huán)境變量、從文件讀取環(huán)境變量以及使用多個環(huán)境文件進行不同部署環(huán)境的配置2024-11-11docker --link容器互聯(lián)的實現(xiàn)
–link可以通過容器名互相通信,容器間共享環(huán)境變量,本文主要介紹了docker --link容器互聯(lián)的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Docker跨主機容器通信overlay實現(xiàn)過程詳解
這篇文章主要介紹了Docker跨主機容器通信overlay實現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05如何使用Docker和cpolar在Linux服務器上搭建DashDot監(jiān)控面板
本文主要介紹如何在Linux服務器上使用Docker和cpolar技術搭建DashDot監(jiān)控面板,實現(xiàn)實時服務器監(jiān)控,DashDot提供直觀的監(jiān)控界面和豐富的指標,通過cpolar可以實現(xiàn)公網(wǎng)訪問,方便用戶隨時了解服務器狀態(tài),文章詳細說明了環(huán)境準備、安裝Docker、配置DashDot和cpolar的步驟2024-09-09