開放docker正在運行鏡像的端口

徐瑞龍 2022-05-14 12:42:37 阅读数:920

docker正在端口

開放docker正在運行鏡像的端口

下載docker

docker從0-1docker下載可以直接查看之前寫的一個帖子。介意使用Linux或者Mac去下載,因為使用Windows會有一些問題

修改端口

關閉我們要修改端口的鏡像

docker ps // 查看當前有沒有啟動的鏡像,如果沒有就如下圖

截屏2022-05-09 下午9.20.20

docker stop 容器的ID

截屏2022-05-09 下午9.21.23

進入docker文件目錄,

cd ~/Library/Containers/com.docker.docker

使用screen進行登陸

cd /Data/vms/0
screen tty

這裏如提示[screen is terminating]請直接看最下面。

進入到你要修改的容器

進入到我們要修改的容器裏面,可以通過容器的ID來識別,如下圖,上面的是我的docker鏡像,下面是我的文件夾裏面的內容

截屏2022-05-09 下午9.29.23

截屏2022-05-09 下午9.28.27

然後我們就要修改文件了。

我們需要修改config.v2.json和hostconfig.json文件

image-20220509213325234

修改config.v2.json

vi config.v2.json

在vi的命令行模式輸入/ExposedPorts。然後將我們需要添加的端口放進去

我們在config.v2.json文件裏面搜索ExposedPorts,如果我們在創建容器的時候,沒有開放端口這個時候可能搜索不到。

修改的內容

"ExposedPorts":
{

"2200/tcp":
{
},
"8080/tcp":
{
},
"1000/tcp":
{
}
},

修改hostconfig.json

vim hostconfig.json

在vi的命令行模式輸入/hostconfig.json。然後修改我們需要映射的端口

#在PortBindings處添加端口映射地址
"PortBindings":
{

"22/tcp": [ // 這裏是容器內的端口
{

"HostIp": "",
"HostPort": "1000" // 這裏是宿主機要映射的端口
}]
},

[screen is terminating]的解决方法

拉取新的鏡像

docker pull justincormack/nsenter1

創建一個新的容器

docker run -it --privileged --pid=host justincormack/nsenter1

進入到容器內部

cd /var/lib/docker/containers && ls

然後回到剛剛的步驟,繼續往下執行

注意事項

  1. 當我們在修改開始前,需要停止目標容器

  2. 必須要重啟docker,然後在重啟容器,否則修改不生效

版权声明:本文为[徐瑞龍]所创,转载请带上原文链接,感谢。 https://gsmany.com/2022/134/202205141241454454.html