Synology docker,如何在网络中使用docker时“不设置”暴露的端口

Synology docker,如何在网络中使用docker时“不设置”暴露的端口

当我将 docker 添加到桥接网络时,通常(在本地电脑上执行此操作时)我可以让暴露的端口保持“打开”而不将它们连接到外部端口。

这样做的好处是端口本身只能在 Docker 所用的网络内使用,而对外界是不可见的。增加了一层强大的保护,同时使管理 Docker 组更加容易。(非外部端口在网络内只需是唯一的即可)。

但是,当我通过 Synology 中的 GUI 添加 Docker 时(即使我将所述 Docker 添加到网络并将其从默认网络中删除),我需要为每个 Docker 提供一个免费、唯一的端口。即使我不提供任何内容,Synology 也会使用 自行提供一个端口auto

我怎样才能防止这种情况并仅在网络内使用docker? - 在我的用例中,我将在网络内拥有4个docker,其中只有一个docker面向“外部”:一个postgres docker,一个redis docker,一个节点docker和面向外的docker:一个nginx docker充当反向代理并提供静态文件。

答案1

实际上,您可以通过两种方式执行此操作:从 GUI 或从 CLI。

图形用户界面

修改现有容器

在容器页面中,选择要修改的容器(禁用端口映射),然后单击“编辑”(如果正在运行,请先停止它)。 第一步截图

现在在“端口设置”​​选项卡中,选择要删除的端口映射,然后单击减号。应用您的设置。 第二步截图

创建新容器

您可以在启动向导中的“高级设置”中找到相同的设置。 启动新容器

命令行界面

使用管理员帐户通过 SSH 进入您的 DSM,sudo docker run就像在本地机器上一样运行。

相关内容