您好,登錄后才能下訂單哦!
docker容器啟動后怎么修改端口映射,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
docker容器啟動后怎么修改端口映射?
在docker run創建并運行容器的時候,可以通過-p指定端口映射規則。但是,也會遇到剛開始忘記設置端口映射或者設置錯了需要修改的情況。當docker start運行容器后,并沒有提供一個-p選項或設置,讓你修改指定端口映射規則。
通常間接的辦法是,保存鏡像,再創建一個新的容器,在創建時指定新的端口映射。
方法一:刪除原有容器,重新建新容器
這個解決方案最為簡單,把原來的容器刪掉,重新建一個。當然這次不要忘記加上端口映射。優點是簡單快捷,在測試環境使用較多。缺點是如果是數據庫鏡像,那重新建一個又要重新配置一次,就比較麻煩了。
方法二:利用docker commit新構鏡像
docker commit:把一個容器的文件改動和配置信息commit到一個新的鏡像。這個在測試的時候會非常有用,把容器所有的文件改動和配置信息導入成一個新的docker鏡像,然后用這個新的鏡像重起一個容器,這對之前的容器不會有任何影響。
1、停止docker容器
docker stop container01
2、commit該docker容器
docker commit container01 new_image:tag
3、用前一步新生成的鏡像重新起一個容器
docker run --name container02 -p 80:80 new_image:tag
這種方式的優點是不會影響統一宿主機上的其他容器,缺點是管理起來顯得比較亂。
方法三:修改文件端口,重啟docker服務
1、停止容器(docker stop d00254ce3af7)
2、停止docker服務(systemctl stop docker)
3、修改這個容器的hostconfig.json文件中的端口(如果config.v2.json里面也記錄了端口,也要修改)
cd /var/lib/docker/containers/d00254ce3af7* #這里是CONTAINER ID vim hostconfig.json 如果之前沒有端口映射, 應該有這樣的一段: "PortBindings":{} 增加一個映射, 這樣寫: "PortBindings":{"8080/tcp":[{"HostIp":"","HostPort":"60000"}]} 前一個數字是容器端口, 后一個是宿主機端口。將宿主機的60000端口映射到容器的8080端口 而修改現有端口映射更簡單, 把端口號改掉就行。
4、啟動docker服務(systemctl start docker)
5、啟動容器(docker start d00254ce3af7)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。