Docker绑定端口
绑定端口
Docker可以使用-p或者--publish选项将主机上的特定端口映射到容器中的端口。这可以用来使容器可从外部访问。在Docker运行配置中,您可以选择将所有容器端口公开给主机,或使用“绑定端口(Bind ports)”字段指定端口映射。
在“端口绑定(Port Bindings)”对话框中,您可以通过指定主机上的哪些端口映射到容器中的哪些端口来创建绑定列表。您还可以提供一个特定的主机IP,从中可以访问该端口(例如,您可以将其设置为127.0.0.1以仅在本地访问,或将其设置为0.0.0.0,以便为网络中的所有计算机打开它)。
在“绑定端口(Bind ports)”字段示出了配置的端口绑定。例如,如果您已经在Docker主机端口5432上运行PostgreSQL,则可以将主机上的端口5433映射到容器内的5432,如前面的屏幕截图所示。这将使PostgreSQL在容器内运行,通过主机上的端口5433可访问。
如果展开“命令预览(Command preview)”字段,则会看到添加了以下行:
-p 5433:5432
这可以在“命令行选项(Command line options)”字段中使用,而不是使用“端口绑定(Port Bindings)”对话框创建端口绑定列表。
查看和修改正在运行的容器的端口绑定:
- 在Docker工具窗口中,选择容器,然后选择端口绑定选项卡。
- 要创建新的绑定,请单击 。要编辑现有的绑定,请选择绑定并单击 。如果选中“发布所有端口(Publish all ports)”复选框,请清除它以指定单个端口映射。
- 根据需要指定设置,然后单击“保存(Save)”以应用更改。
容器停止并被移除,并且具有指定更改的新容器被创建。但是,更改不会保存在相应的运行配置中。