dtvpl739577
2017-10-24 12:33
浏览 207

无法在Docker上运行Golang应用程序

I am trying to run this project - https://github.com/JumboInteractiveLimited/codetest

I've downloaded the Docker tool box, and I've executed the build and run commands as mentioned on the GitHub page, but when I try to access http:localhost:8080, the page is still unavailable.

When I try to execute run again, Docker says

"$ ./run.sh
Listening on http://localhost:8080
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon:    driver failed programming external connectivity on endpoint quirky_mcnulty (32af4359629669ee515cbc07d8bbe14cca3237979f37262882fb0288f5d6b6b8): Bind for 0.0.0.0:8080 failed: port is already allocated."

Edit: To clarify, I get that error only when I run the 2nd time. When I ran the run command first, it didn't complain. I ran it another time just to confirm that it's running.

When I initially ran, I got the following:

$ ./run.sh
Listening on http://localhost:8080
2017/10/24 13:51:53 Waiting...

图片转代码服务由CSDN问答提供 功能建议

我正在尝试运行此项目- https://github.com/JumboInteractiveLimited/codetest

我已经下载了Docker工具箱,并执行了构建 并运行GitHub页面上提到的命令,但是当我尝试访问http:localhost:8080时,该页面仍然不可用。

当我再次尝试执行run时,Docker说< / p>

 “ $ ./run.sh
在http:// localhost:8080 
C:\ Program Files \ Docker Toolbox \ docker.exe上监听:来自守护程序的错误响应:驱动程序 终结点quirky_mcnulty上的外部连接编程失败(32af4359629669ee515cbc07d8bbe14cca3237979f37262882fb0288f5d6b6b8):绑定0.0.0.0:8080失败:端口已分配。“ 
   
 
 

Edit :为了澄清,我只有在第二次运行时才收到该错误。 当我首先运行run命令时,它没有抱怨。 我再次运行它只是为了确认它是否正在运行。

最初运行时,我得到了以下信息:

  $ ./ 在http:// localhost:8080 
2017 / 10/24 13:51:53上运行run.sh 
正在等待... 
   
 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dsgnze6572 2017-10-24 13:07
    已采纳

    Change run.sh to replace port 8080 to 8082

    #!/bin/bash
    echo "Listening on http://localhost:8082"
    docker run -p 8082:80 codetest
    

    I have changes port to 8082 if the port is already in use change that port again to some other port based on your available port.

    If you are on Windows

    netsh interface portproxy add v4tov4 listenport=8082 listenaddress=localhost connectport=8082 connectaddress=192.168.99.100(IP of the Docker)
    

    Here is the helping discussion on port farwarding in windows with docker Solution for Windows hosts

    点赞 打赏 评论
  • douqianxun8540 2017-10-24 12:36

    The issue seems quite clear

    port is already allocated
    

    which means that some other program is listening on port 8080. If you are on a Linux system you can try to run

    sudo lsof -i :8080
    

    to find out what is.

    Otherwise, simply use another port.

    点赞 打赏 评论

相关推荐 更多相似问题