nignx - docker內(nèi)nginx 80端口被占用
問題描述
[root@8f52078ea4e6 config]# nginxnginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)nginx: [emerg] still could not bind()
docker容器配置的端口對應(yīng)關(guān)系: 22/tcp, 0.0.0.0:80->80/tcp
問題解答
回答1:不是很確定,但是和docker的端口映射應(yīng)該是沒關(guān)系的,docker的關(guān)系映射相當(dāng)于是再virtual box里面配了一個端口匹配規(guī)則,不會占用這個端口的,相當(dāng)于外部端口轉(zhuǎn)發(fā)到內(nèi)部容器端口里。所以你這個錯誤應(yīng)該是docker內(nèi)部端口被占了。試一下lsof -i :80看看
回答2:用的什么鏡像? 如果官方的nginx的話, nginx進(jìn)程已經(jīng)啟動了, 這時你當(dāng)然不能再在80上啟動另一個
回答3:題主可以進(jìn)入nginx的docker container實例,查看一下nginx是否已經(jīng)啟動:
ps -ef | grep nginx# ornetstat -ntpl | grep 80
如果已經(jīng)啟動,則不需要在重復(fù)啟動了
回答4:你這已經(jīng)是在容器中了吧,你的nginx容器啟動后,80端口就已經(jīng)起來了,你在運行nginx,肯定顯示被占用了。
相關(guān)文章:
1. python如何不改動文件的情況下修改文件的 修改日期2. python3.x - python lxml無法查找第一個tag有鏈接和沒有內(nèi)容tag的子tag的text?3. MySQL 中怎么修改字段名,不更改屬性?4. javascript - 請教大俠,webpack打包圖片的時候,頁面上顯示不出來,還有網(wǎng)站根目錄的疑問?5. mysql - 如何在數(shù)據(jù)庫里優(yōu)化 漢明距離 查詢?6. css如何實現(xiàn)兩欄布局,左邊固定寬度,右邊寬度自適應(yīng),且高度和瀏覽器當(dāng)前高度一致?7. python - 速度最快的啟動界面GUI8. c++ - 如何在python的阻塞的函數(shù)中獲取變量值9. javascript - vue項目里的package.json10. python - 在寫一個爬蟲,源代碼里面沒有csrf token,要如何獲取到?
