搜尋

首頁  >  問答  >  主體

nignx - docker內nginx 80埠被佔用

[root@8f52078ea4e6 config]# nginx
nginx: [emerg] bind() to 0.0.0.0:80 失敗(98: 位址已在使用中)
nginx: [emerg] bind() to [::]:80失敗(98: 地址已在使用中)
nginx: [emerg] bind() to 0.0.0.0:80 失敗(98: 地址已在使用中)
nginx: [emerg] bind() to [::]: 80 失敗( 98: 地址已在使用中)
nginx: [emerg] bind() to 0.0.0.0:80 失敗(98: 地址已在使用中)
nginx: [emerg] bind() to [::] :80 失敗(98 : 位址已在使用中)
nginx: [emerg] bind() to 0.0.0.0:80 失敗(98: 位址已在使用中)
nginx: [emerg] bind() to [:: ]:80 失敗(98:地址已在使用中)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: 地址已在使用中)
nginx: [emerg] bind() to [: :]:80 failed (98: Address已在使用)
nginx:[emerg]仍無法綁定()

docker容器配置的連接埠對應:22/tcp, 0.0.0.0:80->80/tcp

天蓬老师天蓬老师2859 天前1318

全部回覆(4)我來回復

  • PHPz

    PHPz2017-04-24 16:01:58

    不是很確定,但是和docker的端口映射應該是沒關係的,docker的關係映射相當於是再virtual box裡面配了一個端口匹配規則,不會佔用這個端口的,相當於外部端口轉發到內部容器端口裡。
    所以你這個錯誤應該是docker內部連接埠被佔了。試試lsof -i :80看看

    回覆
    0
  • 高洛峰

    高洛峰2017-04-24 16:01:58

    用的什麼鏡像?
    如果官方的nginx的話, nginx進程已經啟動了, 這時你當然不能再在80上啟動另一個

    回覆
    0
  • 怪我咯

    怪我咯2017-04-24 16:01:58

    題主可以進入nginx的docker container實例,查看一下nginx是否已經啟動:

    ps -ef | grep nginx
    # or
    netstat -ntpl | grep 80

    如果已經啟動,則不需要重複啟動了

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-24 16:01:58


    你這已經是在容器中了吧,你的nginx容器啟動後,80端口就已經起來了,你在運行nginx,肯定顯示被佔用了。

    回覆
    0
  • 取消回覆