Windows上的Docker-端口已锁定

时间:2018-10-14 13:05:43

标签: windows docker go

我最近在尝试本地测试Golang API时遇到错误。

我的API在端口8080上公开了:

log.Fatal(http.ListenAndServe(":8080", router))

我的最终docker文件在同一端口上公开API:

FROM scratch

WORKDIR /app
COPY ./fooAPI.exe /app/fooapi
COPY ./cmd/fooAPI/conf.json /app

# tell we are exposing our service on port 8080
EXPOSE 8080

# run it!
CMD ["./fooapi"]  

当我尝试运行docker映像时,出现以下错误消息:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint fooapi (f6d5bed281ad1e8c1c56770cc1c05e3b5a7f8a05abd8265ae3a4007eeb3ff895): 
Error starting userland proxy: mkdir /port/tcp:0.0.0.0:8080:tcp:172.17.0.2:8080: input/output error

使用以下命令删除以前的容器后发生的事件:

docker rm $(docker ps -a -q)

1 个答案:

答案 0 :(得分:2)

即使在删除容器后,Windows上的Docker有时也会在不确定的时间内锁定您的端口。

您要做的最简单的事情是重新启动docker,并且端口不再被锁定。