如何设置可以从本地网络上的任何计算机连接到的Docker容器?

时间:2019-06-03 03:20:26

标签: docker visual-studio-code localhost local-network

我正在尝试创建一个可以从本地网络上的任何设备连接到的Docker容器。具体来说,此容器:https://hub.docker.com/r/codercom/code-server。我尝试使用Docker Desktop和Docker Toolbox,但只能在主机设备上使用它。如何配置网络或其他设置以允许本地网络上的其他设备连接到容器?

我已经尝试过类似的stackoverflow问题,docker论坛和youtube视频。我曾尝试设置桥接网络连接,但没有任何帮助。

这些是我访问过的一些站点,试图将解决方案复制到我的类似问题。

 https://forums.docker.com/t/bridge-with-docker-for-windows/30936
 https://stackoverflow.com/questions/39111247/how-to-access-docker-container-from-another-machine-on-local-network
 https://blog.oddbit.com/post/2014-08-11-four-ways-to-connect-a-docker/

Edit1:我运行的命令是:docker run -it -p 127.0.0.3:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth这部分起作用,但是当我尝试从同一网络上的另一台计算机访问127.0.0.3:8443时,它不起作用。我已经尝试过上面发布的链接中的解决方案,但是在加载地址失败的情况下,我得到了相同的结果。

我想要做的是从台式计算机托管代码服务器,并允许笔记本电脑之类的设备连接到代码服务器。我目前在Windows 10专业版计算机上。谁能引导我朝正确的方向发展?

1 个答案:

答案 0 :(得分:0)

解决方案

当我为Windows安装Docker时,它将创建一个名为vEthernet(DockerNAT)的网络(通常使用IP 10.0.75.1)

我的本​​地计算机有一个名为“局域网”的网络,其IP地址为192.168.0.172(使用该IP,我试图从其他PC进行访问)。

到目前为止,我的本地计算机具有两个网络连接,因此我转到“控制面板”>“网络和共享中心”>“更改适配器设置”,我选择了两个网络,然后右键点击选中的添加到网桥。这样就创建了称为以太网的第三个网络。

这时,我不知道什么是以太网IP,所以我执行了ipconfig命令,该命令向我显示IP 192.168.0.17(局域网连接和vEthernet的设置( DockerNAT)消失了,并且IP的10.0.75.1和192.168.0.172停止工作。

使用这个新IP(192.168.0.17),我从网络中的另一台计算机尝试了一下,最后我可以访问容器(192.168.0.17:9090)。

重要的是,如果您启用了防火墙,则需要在PowerShell中执行以下脚本

if (!(Get-NetFirewallRule | where {$_.Name -eq “gitlab 9090”})) { New-NetFirewallRule -Name “gitlab 9090” -DisplayName “gitlab 9090” -Protocol tcp -LocalPort 9090 -Action Allow -Enabled True}

将gitlab和端口9090替换为您的映像名称和端口。

相关问题