docker 在已经启动的容器中开启端口映射

这篇具有很好参考价值的文章主要介绍了docker 在已经启动的容器中开启端口映射。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 老办法就是打包再启动

2. 修改配置文件

2.1. 先关闭已经启动的所有容器

docker stop [ID/Name]

2.2. 关闭docker服务

systemctl stop docker
systemctl stop docket.socket

2.3. 找到docker配置文件

cd /var/lib/docker/containors/your_containor_id

在找这个ID的时候要先在之前docker没关闭之前查看

docker ps -a

2.4. 修改hostconfig.json 和 config.v2.json

配置文件如下

  • 这个是hostconfig.json
  • 在这里要把映射的端口信息写入
{
    "Binds":[
        "//home/kali/Desktop/docker/share/:/home/share/"
    ],
    "ContainerIDFile":"",
    "LogConfig":{
        "Type":"json-file",
        "Config":{

        }
    },
    "NetworkMode":"default",
    "PortBindings":{
        "10086/tcp":[{
            "HostIp":"",
            "HostPort":"10086"
            }],
        "80/tcp":[{
            "HostIp":"",
            "HostPort":"80"
            }],
        "443/tcp":[{
            "HostIp":"",
            "HostPort":"443"
            }]
    },
    "RestartPolicy":{
        "Name":"no",
        "MaximumRetryCount":0
    },
    "AutoRemove":false,
    "VolumeDriver":"",
    "VolumesFrom":null,
    "CapAdd":null,
    "CapDrop":null,
    "CgroupnsMode":"private",
    "Dns":[

    ],
    "DnsOptions":[

    ],
    "DnsSearch":[

    ],
    "ExtraHosts":null,
    "GroupAdd":null,
    "IpcMode":"private",
    "Cgroup":"",
    "Links":null,
    "OomScoreAdj":0,
    "PidMode":"",
    "Privileged":false,
    "PublishAllPorts":false,
    "ReadonlyRootfs":false,
    "SecurityOpt":null,
    "UTSMode":"",
    "UsernsMode":"",
    "ShmSize":67108864,
    "Runtime":"runc",
    "ConsoleSize":[
        0,
        0
    ],
    "Isolation":"",
    "CpuShares":0,
    "Memory":0,
    "NanoCpus":0,
    "CgroupParent":"",
    "BlkioWeight":0,
    "BlkioWeightDevice":[

    ],
    "BlkioDeviceReadBps":null,
    "BlkioDeviceWriteBps":null,
    "BlkioDeviceReadIOps":null,
    "BlkioDeviceWriteIOps":null,
    "CpuPeriod":0,
    "CpuQuota":0,
    "CpuRealtimePeriod":0,
    "CpuRealtimeRuntime":0,
    "CpusetCpus":"",
    "CpusetMems":"",
    "Devices":[

    ],
    "DeviceCgroupRules":null,
    "DeviceRequests":null,
    "KernelMemory":0,
    "KernelMemoryTCP":0,
    "MemoryReservation":0,
    "MemorySwap":0,
    "MemorySwappiness":null,
    "OomKillDisable":null,
    "PidsLimit":null,
    "Ulimits":null,
    "CpuCount":0,
    "CpuPercent":0,
    "IOMaximumIOps":0,
    "IOMaximumBandwidth":0,
    "MaskedPaths":[
        "/proc/asound",
        "/proc/acpi",
        "/proc/kcore",
        "/proc/keys",
        "/proc/latency_stats",
        "/proc/timer_list",
        "/proc/timer_stats",
        "/proc/sched_debug",
        "/proc/scsi",
        "/sys/firmware"
    ],
    "ReadonlyPaths":[
        "/proc/bus",
        "/proc/fs",
        "/proc/irq",
        "/proc/sys",
        "/proc/sysrq-trigger"
    ]
}
  • 这里是config.v2.json
  • 这里要把暴露的端口写入
{
    "StreamConfig":{

    },
    "State":{
        "Running":false,
        "Paused":false,
        "Restarting":false,
        "OOMKilled":false,
        "RemovalInProgress":false,
        "Dead":false,
        "Pid":0,
        "ExitCode":137,
        "Error":"",
        "StartedAt":"2023-07-11T06:34:07.531152901Z",
        "FinishedAt":"2023-07-11T06:50:44.834512517Z",
        "Health":null
    },
    "ID":"532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2",
    "Created":"2023-07-11T06:34:07.211250431Z",
    "Managed":false,
    "Path":"bash",
    "Args":[

    ],
    "Config":{
        "Hostname":"532f96985e45",
        "Domainname":"",
        "User":"",
        "AttachStdin":false,
        "AttachStdout":false,
        "AttachStderr":false,
        "ExposedPorts":{
            "80/tcp":{},
            "10086/tcp":{},
            "443/tcp":{}
        },
        "Tty":true,
        "OpenStdin":true,
        "StdinOnce":false,
        "Env":[
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "LANG=C.UTF-8"
        ],
        "Cmd":[
            "bash"
        ],
        "Image":"kalilinux/kali-last-release",
        "Volumes":null,
        "WorkingDir":"",
        "Entrypoint":null,
        "OnBuild":null,
        "Labels":{
            "io.buildah.version":"1.28.2",
            "org.opencontainers.image.authors":"Kali Developers \u003cdevel@kali.org\u003e",
            "org.opencontainers.image.created":"2023-07-09T04:26:43Z",
            "org.opencontainers.image.description":"Official Kali Linux container image for 2023.2",
            "org.opencontainers.image.revision":"b65b5a63",
            "org.opencontainers.image.source":"https://gitlab.com/kalilinux/build-scripts/kali-docker",
            "org.opencontainers.image.title":"Kali Linux (2023.2 branch)",
            "org.opencontainers.image.url":"https://www.kali.org/",
            "org.opencontainers.image.vendor":"OffSec",
            "org.opencontainers.image.version":"2023.2"
        }
    },
    "Image":"sha256:727e3f9a0dbc1449e9fcb04b902e717c85004383fbdff13fb4c3808ac3b8773d",
    "NetworkSettings":{
        "Bridge":"",
        "SandboxID":"71b8410fa517e48b860dd8c8d8c63cd39c18e7463174c4104e3ce16cbd9f3f67",
        "HairpinMode":false,
        "LinkLocalIPv6Address":"",
        "LinkLocalIPv6PrefixLen":0,
        "Networks":{
            "bridge":{
                "IPAMConfig":null,
                "Links":null,
                "Aliases":null,
                "NetworkID":"d2820cac2564714950b4a883d348b753d5fe01a4b2b699990d09df451ea6d929",
                "EndpointID":"",
                "Gateway":"",
                "IPAddress":"",
                "IPPrefixLen":0,
                "IPv6Gateway":"",
                "GlobalIPv6Address":"",
                "GlobalIPv6PrefixLen":0,
                "MacAddress":"",
                "DriverOpts":null,
                "IPAMOperational":false
            }
        },
        "Service":null,
        "Ports":null,
        "SandboxKey":"/var/run/docker/netns/71b8410fa517",
        "SecondaryIPAddresses":null,
        "SecondaryIPv6Addresses":null,
        "IsAnonymousEndpoint":false,
        "HasSwarmEndpoint":false
    },
    "LogPath":"/var/lib/docker/containers/532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2/532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2-json.log",
    "Name":"/x-ui",
    "Driver":"overlay2",
    "OS":"linux",
    "MountLabel":"",
    "ProcessLabel":"",
    "RestartCount":0,
    "HasBeenStartedBefore":true,
    "HasBeenManuallyStopped":true,
    "MountPoints":{
        "/home/share":{
            "Source":"/home/kali/Desktop/docker/share",
            "Destination":"/home/share",
            "RW":true,
            "Name":"",
            "Driver":"",
            "Type":"bind",
            "Propagation":"rprivate",
            "Spec":{
                "Type":"bind",
                "Source":"//home/kali/Desktop/docker/share/",
                "Target":"/home/share/"
            },
            "SkipMountpointCreation":false
        }
    },
    "SecretReferences":null,
    "ConfigReferences":null,
    "AppArmorProfile":"docker-default",
    "HostnamePath":"/var/lib/docker/containers/532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2/hostname",
    "HostsPath":"/var/lib/docker/containers/532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2/hosts",
    "ShmPath":"",
    "ResolvConfPath":"/var/lib/docker/containers/532f96985e4536759554cc7c2b68642e3075ec0dca5aed1fffc19c749e8907a2/resolv.conf",
    "SeccompProfile":"",
    "NoNewPrivileges":false,
    "LocalLogCacheMeta":{
        "HaveNotifyEnabled":false
    }
}

3. 重启docker服务

systemctl start docker

4. 查看容器端口映射

docker start [your_containor_id/name]
docker post [your_containor_id/name]
docker ps -a

在本机查看一下端口占用文章来源地址https://www.toymoban.com/news/detail-716205.html

lsof -i:22
lsof -i:80
lsof -i:443
lsof -i:10086

到了这里,关于docker 在已经启动的容器中开启端口映射的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker容器添加对外映射端口

    在容器首次启动是,可通过-p参数(-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如: 上述命令将容器内的80端口映射到宿主机的8088端口。 参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上 -i 是让容器

    2024年02月09日
    浏览(33)
  • Docker中对已存在运行的容器修改端口映射和容器卷映射

    一、初次创建容器,指定宿主机和容器端口的映射,如下示例: 二、对已存在运行容器,更改端口 方式一:(删了原来的,根据image重做) 1、停止容器 2、将容器打包成镜像 3、用“一”中的命令,通过新镜像开启新容器 方式二:(直接修改现有容器) 1、停止容器 2、查找

    2024年02月16日
    浏览(44)
  • docker 容器如何查看正在运行容器的端口映射

    1、查看docker容器的版本 2、查看正在运行的容器 3、查看容器的端口映射 总结:到此就完成了查看正在运行容器的端口映射.

    2024年02月12日
    浏览(38)
  • docker 容器修改端口和目录映射

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 这里是将容器内的80端口映射到宿主机的8088端口 参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上

    2024年04月26日
    浏览(49)
  • 如何修改docker容器的端口映射

    要修改 Docker 容器的端口映射,你需要停止并删除现有的容器,然后使用新的端口映射重新运行容器。以下是详细步骤: 停止容器 : 使用 docker stop 命令停止正在运行的容器。替换 container_id 为你要停止的容器的 ID 或者容器的名称。 删除容器 : 使用 docker rm 命令删除已停止

    2024年02月22日
    浏览(35)
  • Docker给容器添加新端口映射

    Docker容器创建后,其网络配置通常是固定的,包括端口映射。基于Docker的原生工具,一旦容器启动,就无法直接修改其端口映射。然而,有几种方法可以解决需要对现有容器添加新端口映射的问题。 最直接的方法是创建一个新的容器,并在创建时指定所有需要的端口映射。这

    2024年03月28日
    浏览(50)
  • Docker-CentOS开启防火墙firewalled映射Docker端口

    开启docker的Tomcat容器后,启动 访问不了Tomcat 查看防火墙所有开放的端口 1、通过systemctl status firewalld查看firewalld状态,发现当前是dead状态,即防火墙未开启  查看防火墙规则 2、通过systemctl start firewalld开启防火墙,没有任何提示即开启成功   3、通过systemctl status firewalld查看

    2024年02月15日
    浏览(51)
  • 修改docker容器端口映射到主机的方法

    如何修改已经创建好的容器的映射端口 我们都知道docker在创建时可以指定端口映射,但是容器一旦创建好,就没有命令支持直接修改映射端口。如果我们已经对容器里面的内容已经做了一定更改,不能删除进行重建,怎么办呢?通常间接的办法是,保存镜像,再创建一个新的

    2024年02月14日
    浏览(47)
  • Docker介绍下载安装、制作镜像及容器、做目录映射、做端口映射

    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是

    2023年04月12日
    浏览(45)
  • 【云原生】Docker的端口映射、数据卷、数据卷容器、容器互联

    目录 一、端口映射(相当于添加iptables的DANT) 二、数据卷创建(宿主机目录或文件挂载到容器中) 三、数据卷容器(多个容器通过同一个数据卷容器为基点,实现所有容器数据共享) 四、容器互联(可以通过容器名称或连接别名通信) 在启动容器的时候,如果不指定对应

    2024年01月25日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包