乐闻世界logo
搜索文章和话题

如何将端口映射分配给现有的Docker容器?

3 个月前提问
3 个月前修改
浏览次数14

1个答案

1

要将端口映射分配给已经运行的Docker容器,通常我们需要遵循以下步骤。不过需要注意的是,直接对已经运行的容器修改端口映射是不支持的。这意味着我们需要使用一种间接的方法来实现:

步骤 1: 停止当前运行的容器

首先,你需要停止当前正在运行的容器。可以使用以下命令:

bash
docker stop 容器ID或名称

步骤 2: 删除当前容器

由于Docker不支持直接修改已运行容器的端口映射,我们需要删除当前容器。可以使用以下命令:

bash
docker rm 容器ID或名称

步骤 3: 使用新的端口映射重新创建并启动容器

现在,你可以使用原来的容器配置和新的端口映射参数来重新创建并启动容器。例如,如果你想要将容器的内部端口 80 映射到宿主机的端口 8080,可以使用以下命令:

bash
docker run -p 8080:80 --name 容器名称 -其他选项 镜像名称

这里 -p 8080:80 就是新的端口映射参数。

示例

假设你有一个名为 my-web-app 的容器,它运行了一个web服务,原来只在容器内部端口80上运行,现在你想让外部能通过宿主机的端口8080访问这个服务。你可以按照以下步骤操作:

  1. 停止容器:

    bash
    docker stop my-web-app
  2. 删除容器:

    bash
    docker rm my-web-app
  3. 重新创建并启动容器,映射端口:

    bash
    docker run -p 8080:80 --name my-web-app your-image-name

通过这种方法,你就可以实现对现有Docker容器的端口映射的重新配置。不过,请记得备份容器内重要数据,因为删除容器可能会导致数据丢失,除非你使用了数据卷(volumes)或其他持久化数据的策略。

2024年8月10日 00:40 回复

你的答案