不銷毀容器,修改 Podman 容器的端口號

一個窗口啟動后,想要修改容器開放的端口號,一般的做法,都是先把容器銷毀,然后重新編輯啟動命令,將要開放的端口號修改過來,然后再重新啟動容器。

如果用的是DOCKER,也可以從配置文件入手,修改配置文件后只需要重新啟動容器就可以

但是 Podman 與眾不同。

Podman 的容器配置數據,存放于一個叫 bolt_state.db 的數據庫文件中,存放于 /var/lib/containers/storage/libpod/bolt_state.db ,是用Go編寫的一個存儲庫(https://github.com/boltdb/bolt)。如果確認要修改,可以直接使用 API 或 boltbrowser(BoltDB文件的CLI瀏覽器)(https://github.com/br0xen/boltbrowser)對其進行操作。

安裝運行環(huán)境

yum install -y golang
yum install -y git
go get github.com/br0xen/boltbrowser

文件會安裝在 <go工作目錄>/go/bin/boltbrowser下 ,以下簡寫 /go/bin/boltbrowser

修改配置文件

  1. 停止容器
  2. 備份 bolt_state.db
  3. podman inspect <容器名> | grep Id 查看容器 ID
  4. 執(zhí)行命令

boltbrowser --help 可以查看命令幫助

/go/bin/boltbrowser /var/lib/containers/storage/libpod/bolt_state.db

bolt_statle.db 是一個鍵值對存儲庫 , 修改的值在 ctr -> <容器ID> -> config

值是一個JSON文件,找到自己想要修改的端口號,進行修改

"portMappings": [
    {
        "containerPort": <container_port>,
        "hostIP": "",
        "hostPort": <host_port>,
        "protocol": "tcp"
    },
    {
        "containerPort": <container_port>,
        "hostIP": "",
        "hostPort": <host_port>,
        "protocol": "tcp"
    }
]

修改完成后,記得用 podman inspect <容器ID> 驗證一下 , 最后重新啟動容器,大功造成!

一頓騷操作,其實還是銷毀后重新啟動一個容器方便一點 !

`

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容