macOS修改Docker容器的端口映射配置

查询容器ID

查询需要修改端口映射的容器ID

docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明
-f :指定返回值的模板文件。
-s :显示总的文件大小。
--type :为指定类型返回JSON。

进入Docker文件目录

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

使用screen进行登陆

cd /Data/vms/0
screen tty

进入配置文件夹

cd /var/lib/docker/containerslscd a95ebce9c2e4b79374cdbbee81640b399fc5592411c83865bb8da583641b9c03 # 进入休要修改端口的容器文件夹

修改文件

需要修改config.v2.json文件以及hostconfig.json两个文件

1.config.v2.json

# 在ExposedPorts处添加需要映射的端口
        "ExposedPorts":
        {
            "2200/tcp":
            {},
            "8080/tcp":
            {},
            "1000/tcp":
            {}
        },
 1 截取片段
 2         "Hostname": "a95ebce9c2e4",
 3         "Domainname": "",
 4         "User": "",
 5         "AttachStdin": true,
 6         "AttachStdout": true,
 7         "AttachStderr": true,
 8         "ExposedPorts":
 9         {
10             "2200/tcp":
11             {},
12             "8080/tcp":
13             {},
14             "1000/tcp":
15             {}
16         },

2.hostconfig.json

#在PortBindings处添加端口映射地址
    "PortBindings":
    {
        "2200/tcp": [
        {
            "HostIp": "",
            "HostPort": "22"
        }],
        "8080/tcp": [
        {
            "HostIp": "",
            "HostPort": "80"
        }],
        "1000/tcp": [
        {
            "HostIp": "",
            "HostPort": "1000"
        }]
    },

验证

原文地址:https://www.cnblogs.com/R-S-PY/p/12680870.html

时间: 2024-07-31 11:39:52

macOS修改Docker容器的端口映射配置的相关文章

修改docker容器的端口映射

大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改.通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射. 有没有办法不保存镜像而直接修改已有的这个容器呢?有.在stackoverflow上面找到答案了. 方法一 1.停止容器(docker stop d00254ce3af7) 2.停止docker服务(systemctl stop docker) 3.修改这个容器的hostconfig.json文件中的端口(原帖有人提到,如果con

教你如何修改运行中的docker容器的端口映射

在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则.那么这种情况我们该怎么处理呢?今天Docker君教你如何修改运行中的docker容器的端口映射? 方法一:删除原有容器,重新建新容器 这个解决方案最为简单,把原来的容器删掉,重新建一个.当然这次不要忘记加上端口映射. 优缺点:优点是简单快捷,在测试环境使用较多.缺点是如

[转帖]教你如何修改运行中的docker容器的端口映射

在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则.那么这种情况我们该怎么处理呢?今天Docker君教你如何修改运行中的docker容器的端口映射? 方法一:删除原有容器,重新建新容器 这个解决方案最为简单,把原来的容器删掉,重新建一个.当然这次不要忘记加上端口映射. 优缺点:优点是简单快捷,在测试环境使用较多.缺点是如

如何修改运行中的docker容器的端口映射

在docker run创建并运行容器的时候,可以通过-p指定端口映射规则.但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改.当docker start运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则.那么这种情况我们该怎么处理呢?今天Docker君教你如何修改运行中的docker容器的端口映射? 方法一:删除原有容器,重新建新容器 这个解决方案最为简单,把原来的容器删掉,重新建一个.当然这次不要忘记加上端口映射. 优缺点:优点是简单快捷,在测试环境使用较多.缺点是如

修改docker的port端口映射

原以为修改docker的端口映射只是一条命令就可以搞定,结果发现没那么简单,记录一下以防忘记.1. 查看需要修改的容器,记住container iddocker ps -a2. 停止容器docker stop xxx3. 修改容器的端口映射配置文件vim /var/lib/docker/containers/{container_id}/hostconfig.json "PortBindings": { "80/tcp": [ { "HostIp"

解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题

在docker中运行第三方服务时,通常需要绑定服务端口到本地主机.但使用 -p 参数进行的端口映射,会自动在iptables中建立规则,绕过firewalld,这对于端口级的黑白名单控制管理是很不利的,所以我们需要对iptables进行手动修改. 这里以从名为centos.19.09.05的image建立一个容器为例: 首先,如果系统是CentOS7的话,需要关闭自带firewalld防火墙,并切换为iptables. 假设需要将新容器的27017端口映射到主机的27017端口,一般情况下我们使

Docker修改容器的端口映射和挂载路径

原文:Docker修改容器的端口映射和挂载路径 有时候因为某些原因需要修改容器的配置,如端口映射和挂载路径,但是如果删除容器后再重新运行,那么之前在容器内所做的修改就丢失了,本文提供了两种方法,可以在保留修改的同时修改配置参数. 方法一:将容器保存为镜像 1.停止容器 docker stop CONTAINER 2.将容器保存为新的镜像 docker commit CONTAINER NEWIMAGE:TAG 3.启动新的镜像,此时可以重新指定参数 docker run --name CONTA

解决Windows10下无法对docker容器进行端口访问(端口映射的问题)

解决Windows10下无法对docker容器进行端口访问(端口映射的问题) 问题详情 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务,映射也做好 问题:在主机的浏览器中,打开localhost:port无法访问对应的Web服务. 问题解析 原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker. 也就是说,服务中使用

修改Docker容器启动配置参数

有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker container update --restart=always 容器名字 2.直接改配置文件 首先停止容器,不然无法修改配置文件 配置文件路径为:/var/lib/docker/containers/容器ID 在该目录下找到一个文件 hostconfig.json ,找到该文件中关键字 Resta