当前位置: 首页 > 知识库问答 >
问题:

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

微生运浩
2023-03-14

我不确定我是否误解了这里的某些东西,但似乎只有通过从映像创建一个新容器来设置端口映射才是可能的。是否有一种方法将一个端口映射分配给一个现有的Docker容器?

共有1个答案

须敏学
2023-03-14

您可以通过直接编辑/var/lib/Docker/containers/[hash_of_the_container]/hostconfig.json/var/snap/Docker/common/var-lib-docker/containers/[hash_of_the_container]/hostconfig.json中的hostconfig.json文件来更改端口映射,如果您将Docker作为一个SNAP安装的话。

您可以通过Docker inspect 命令确定[hash_of_the_container],“id”字段的值是哈希值。

  1. 停止容器(Docker stop )。
  2. 停止docker服务(根据TacsiAzuma的注释)
  3. 更改文件。
  4. 重新启动docker引擎(以刷新/清除配置缓存)。
  5. 启动容器(Docker start )。

所以您不需要用这种方法创建图像。您也可以在这里更改重新启动标志。

附注。您可以访问https://docs.docker.com/engine/admin/了解如何根据主机正确重新启动docker引擎。我使用sudo systemctl restart docker重新启动运行在Ubuntu16.04上的docker引擎。

 类似资料:
  • 问题内容: 我不确定在这里是否误解了一些东西,但是似乎只能通过从映像创建新容器来设置端口映射。是否可以将端口映射分配给现有Docker容器? 问题答案: 您可以通过直接在以下位置编辑文件 来更改端口映射 您可以通过命令确定[hash_of_the_container] ,“ Id”字段的值为哈希。 因此,您无需使用这种方法来创建图像。您也可以在此处更改重新启动标志。 PS:您可以访问 https:

  • 问题内容: 我想为容器分配一个端口,以便在每次重新启动容器后都获得相同的端口。 示例:我有一个容器,其中有一个Apache。Apache在容器内的端口80上运行。现在,在启动容器后,docker将一个主机端口分配给该容器端口,例如:49154->80。但是该主机端口在重新启动后会更改,具体取决于正在运行的容器的数量。我试图在容器的config.json文件中指定端口,但该端口被覆盖。 是否可以手动

  • 本文向大家介绍Docker端口映射的实现,包括了Docker端口映射的实现的使用技巧和注意事项,需要的朋友参考一下 docker容器在启动的时候,如果不指定端口映射参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。 亦可使用Dockerfile文件中的EXPOSE指令来配置。 端口映射可使用-p、-P来实现: -p指定要映射的端口,一个指定端口上只可以绑定一个容器 -P将容器内部开放的

  • 目标是运行两个容器的。一个容器应该映射到主机上的8080端口,另一个映射到8081端口。这是docker compose的

  • 本文向大家介绍Docker 给运行中的容器设置端口映射的方法,包括了Docker 给运行中的容器设置端口映射的方法的使用技巧和注意事项,需要的朋友参考一下 一、概念 Docker 端口映射即映射容器内应用的服务端口到本机宿主机器。 二、实现 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射。 1. 随机映射 使用 -P 参数时,Docker 会

  • 问题内容: 我想在不同主机上的某些Docker容器中运行任务。而且我编写了一个管理器应用程序来管理容器(启动任务,停止任务,获取状态等)。容器启动后,它将向管理器发送一个http请求及其地址和端口,因此管理器将知道如何管理该容器。 由于同一主机上可能运行着多个容器,因此它们将被映射到不同的端口。要在我的经理上注册一个容器,我必须知道每个容器映射到哪个端口。 如何 在 Docker容器中获取映射的端