在docker中为sql-server创建容器时(带管理权(:
"…守护程序的错误响应:驱动程序失败的编程外部编程 端点SQL19B上的连接性 (CC372B961FB8178C2461D26BF16C4232A62E01C5F48B8B8B8FCEC27370506CC095(: 错误启动Userland代理:听TCP 0.0.0.0:1433:bind:an 试图以访问权限禁止的方式访问插座 权限。"
摘录来自log-file:
[21:39:17.692][ApiProxy ][Info ] time="2019-08-01T21:39:17+02:00" msg="proxy >> HEAD /_pingn"
[21:39:17.696][ApiProxy ][Info ] time="2019-08-01T21:39:17+02:00" msg="proxy << HEAD /_ping (3.9929ms)n"
[21:39:17.699][GoBackendProcess ][Info ] error CloseWrite to: The pipe is being closed.
[21:39:17.742][ApiProxy ][Info ] time="2019-08-01T21:39:17+02:00" msg="proxy >> DELETE /v1.40/containers/22810276e261n"
[21:39:17.758][ApiProxy ][Info ] time="2019-08-01T21:39:17+02:00" msg="proxy << DELETE /v1.40/containers/22810276e261 (16.129ms)n"
[21:39:17.759][GoBackendProcess ][Info ] error CloseWrite to: The pipe is being closed.
[21:39:27.866][ApiProxy ][Info ] time="2019-08-01T21:39:27+02:00" msg="proxy >> HEAD /_pingn"
[21:39:27.869][ApiProxy ][Info ] time="2019-08-01T21:39:27+02:00" msg="proxy << HEAD /_ping (1.6595ms)n"
[21:39:27.870][GoBackendProcess ][Info ] error CloseWrite to: The pipe is being closed.
[21:39:27.894][ApiProxy ][Info ] time="2019-08-01T21:39:27+02:00" msg="proxy >> POST /v1.40/containers/create?name=SQLLinuxLocalPersistn"
[21:39:27.908][APIRequestLogger ][Info ] [db460e2b-7d77-4756-be19-665715a9a182] POST http://unix/usage
[21:39:27.909][APIRequestLogger ][Info ] [db460e2b-7d77-4756-be19-665715a9a182] POST http://unix/usage -> 200 OK took 0ms
[21:39:27.909][ApiProxy ][Info ] time="2019-08-01T21:39:27+02:00" msg="Rewrote mount C:\Docker\SQL:/sql (volumeDriver=) to /host_mnt/c/Docker/SQL:/sql"
[21:39:28.049][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="proxy << POST /v1.40/containers/create?name=SQLLinuxLocalPersist (154.5485ms)n"
[21:39:28.050][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="proxy >> POST /v1.40/containers/89d13c9d2d2bae095cf66e94b5bb60907a50cb199eb2bdcef9845d493435be07/wait?condition=next-exitn"
[21:39:28.052][GoBackendProcess ][Info ] error CloseWrite to: The pipe is being closed.
[21:39:28.080][APIRequestLogger ][Info ] [a9a496c9-767a-4bd2-917c-f3f1391609dc] POST http://unix/usage
[21:39:28.082][APIRequestLogger ][Info ] [a9a496c9-767a-4bd2-917c-f3f1391609dc] POST http://unix/usage -> 200 OK took 0ms
[21:39:28.060][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="proxy >> POST /v1.40/containers/89d13c9d2d2bae095cf66e94b5bb60907a50cb199eb2bdcef9845d493435be07/startn"
[21:39:28.088][APIRequestLogger ][Info ] [89bf69bf-5084-4d4b-a887-c7acb99bf131] POST http://unix/usage
[21:39:28.088][APIRequestLogger ][Info ] [6ca0e28f-bba3-4f66-afc5-43f6d486c8a2] POST http://unix/usage
[21:39:28.089][APIRequestLogger ][Info ] [89bf69bf-5084-4d4b-a887-c7acb99bf131] POST http://unix/usage -> 200 OK took 0ms
[21:39:28.089][APIRequestLogger ][Info ] [6ca0e28f-bba3-4f66-afc5-43f6d486c8a2] POST http://unix/usage -> 200 OK took 0ms
[21:39:28.067][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="mount point type:bind"
[21:39:28.068][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="mount point:/host_mnt/c/Docker/SQL"
[21:39:28.205][Moby ][Info ] [ 2254.975742] docker0: port 1(veth69918f7) entered blocking state
[21:39:28.250][Moby ][Info ] [ 2255.087127] docker0: port 1(veth69918f7) entered disabled state
[21:39:28.295][Moby ][Info ] [ 2255.132041] device veth69918f7 entered promiscuous mode
[21:39:28.354][Moby ][Info ] [ 2255.176944] IPv6: ADDRCONF(NETDEV_UP): veth69918f7: link is not ready
[21:39:28.439][GoBackendProcess ][Info ] Adding tcp forward from 0.0.0.0:1433 to 172.17.0.2:1433
[21:39:28.560][Moby ][Info ] [ 2255.385920] docker0: port 1(veth69918f7) entered disabled state
[21:39:28.616][Moby ][Info ] [ 2255.442735] device veth69918f7 left promiscuous mode
[21:39:28.667][Moby ][Info ] [ 2255.497549] docker0: port 1(veth69918f7) entered disabled state
[21:39:28.826][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="proxy << POST /v1.40/containers/89d13c9d2d2bae095cf66e94b5bb60907a50cb199eb2bdcef9845d493435be07/start (767.0192ms)n"
[21:39:28.829][GoBackendProcess ][Info ] error CloseWrite to: The pipe is being closed.
[21:39:28.834][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="Cancel connection..."
[21:39:28.836][ApiProxy ][Info ] time="2019-08-01T21:39:28+02:00" msg="proxy << POST /v1.40/containers/89d13c9d2d2bae095cf66e94b5bb60907a50cb199eb2bdcef9845d493435be07/wait?condition=next-exit (786.0411ms)n"
这会导致创建的容器,但没有分配的端口。因此无法启动SQL Server。
edit1:似乎没有使用端口1433(至少在" netstat -abn"下未列出(
我能够通过运行:
来修复它net stop winnat
net start winnat
来源:https://github.com/docker/for-win/issues/9272#issuecomment-776225866
我面临同一问题,我不想更改MSSQL的默认端口(1433(
在这里我为解决此问题所做的工作。
确保您的端口未使用,请转到资源监视器以验证它。现在检查端口是否保留。打开您的命令提示并输入此
netsh int ipv4 show excludedportrange protocol=tcp
此处列出的端口由Hyper-V管理,删除端口1433的唯一方法是禁用Hyper-V,保留端口1433,因此Hyper-V不保留。
禁用Hyper-V
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
保留端口1433
netsh int ipv4 add excludedportrange protocol=tcp startport=1433 numberofports=1
启用Hyper-V
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
启动Docker并运行您的容器
检查您的端口是否在排除范围之一中:
netsh int ipv4 show excludedportrange protocol=tcp
如果被排除在外,您很可能会因窗口更新而改变动态端口启动范围。
。使用netsh int ipv4 show dynamicport tcp
检查动态启动端口范围,并使用netsh int ipv4 set dynamic tcp start=49152 num=16384
修复它,重新启动后,排除端口范围应该更改。
来源:https://github.com/docker/for-win/issues/3171#issuecomment-554587817
我在更新Docker后遇到了这个问题。我重新启动了计算机,现在一切正常。尝试重新启动。
我也有同样的问题。我通过遵循以下步骤来解决此问题:
- 下载并安装" Kitematic"。
- 将
published IP:PORT
设置为localhost:111
(端口1433
由于未知原因无法使用(。 - 启动SQLServer图像。
由于Hyper-V可能容纳某些端口,因此您可以通过netsh ipv4 show excludedportrange protocol=tcp
进行检查,并且将在重新启动后更改这些端口。
您可以尝试使用restart-service nhs
更改Hyper-V持有的端口,这可能会释放您想要的端口。