开放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,然后在重启容器,否则修改不生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值