从Docker for Windows上运行的容器中,如何访问主机上的端口?

时间:2017-03-30 03:49:07

标签: windows docker

我在Docker for Windows上运行基于CentOS的容器,并尝试连接到在我的主机环境的端口8545上运行的http服务。

我试过这个,尝试了各种可疑的主机名和IP地址:

curl http://localhost:8545

但是我收到的错误消息是"卷曲:(7)连接到localhost失败:8545;连接被拒绝"

我应该如何确定要使用的IP地址?有没有什么我需要配置,只要允许从容器内访问端口号?

2 个答案:

答案 0 :(得分:0)

Localhost还没有运行,我认为使用Docker for Windows。 你可以试试的东西很少。首先,您可以在dockerfile中添加EXPOSE'portnumber',以便容器监听此端口。您也可以使用 -p 8545:8545 运行docker,它将映射容器的端口和主机。

要获取容器的IP地址,您可以使用:

Import-Module ActiveDirectory
$userlist = Get-Content "C:\Scripts\US_User_List.txt"

foreach ($username in $userlist) {
    $grplist = (Get-ADUser $username –Properties MemberOf | Select-Object MemberOf).MemberOf
    foreach ($group in $grplist) {
        write-host $group
    }
}

答案 1 :(得分:0)

您可以使用其IP访问主机,但localhost / 127.0.0.1无法正常工作(它们将解析为Linux的docker for Linux VM)。如果您使用默认网络设置,则应从容器中的10.0.75.1上访问您的主机