当前位置: 首页 > 图灵资讯 > 技术篇> Docker容器添加映射端口

Docker容器添加映射端口

来源:图灵教育
时间:2023-06-17 13:56:41

一般来说,宿主机和容器端口的映射会通过-p来指定,例如:

docker run -itd -p 本地端口:容器内端口: 所用镜像名参数说明-d 表示容器在后台运行-t 将伪终端分配给docker并绑定到容器的标准输入上-i 保持容器标准输入打开-p 指定映射端口

也就是说,在创建容器时,可以设置一个端口来映射宿主机和容器之间的端口,比如外面的8080和容器里的22映射后,可以用宿主机IP:8080在xshell连接容器

方式一

直接停止容器,然后将容器包装成镜像,然后用镜像重新打开新的容器。打开时,添加新的端口,将现有的容器包装成镜像,然后使用新的镜像操作容器重新指定要映射的端口。

实操如下:

停止容器docker stop 容器名称或编号将容器包装成镜像docker commit 容器名称或编号  用新镜像打开新容器docker,您想到的镜像名称 run -itd --name 您起的容器名 -p 外端口:容器内端口 -p 外端口:容器内端口... 刚才的镜像名

方式二

修改容器配置文件

如果容器仍在运行,请先停止docker stop docker服务systemctlld停止docker服务 stop docker查看容器信息:docker ps -a检查容器的端口映射情况,在容器外执行:docker port 搜索要修改容器的容器ID或容器名称(当然也可以直接通过docker) ps -a查看)docker inspect 容器Id | grep Id进到/var/lib/docker/containers 在目录下找到和 Id 相同的目录,修改 hostconfig.json 和 config.v2.json文件:cd /var/lib/docker/containers/容器Idvim hostconfig.json外部端口为10000,容器内部端口为5007050070/tcp": [{"HostIp": "","HostPort": "10000"}]
重新启动dockerstemctllltlet start docker检查端口是否成功绑定docker ps -当然,你也可以用这个命令来检查宿主机和容器之间的端口是否映射成功 -an | grep 如果宿主机的映射端口有过程,则表示有映射