nignx - docker內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容器配置的端口對應關系: 22/tcp, 0.0.0.0:80->80/tcp
問題解答
回答1:不是很確定,但是和docker的端口映射應該是沒關系的,docker的關系映射相當于是再virtual box里面配了一個端口匹配規則,不會占用這個端口的,相當于外部端口轉發到內部容器端口里。所以你這個錯誤應該是docker內部端口被占了。試一下lsof -i :80看看
回答2:用的什么鏡像? 如果官方的nginx的話, nginx進程已經啟動了, 這時你當然不能再在80上啟動另一個
回答3:題主可以進入nginx的docker container實例,查看一下nginx是否已經啟動:
ps -ef | grep nginx# ornetstat -ntpl | grep 80
如果已經啟動,則不需要在重復啟動了
回答4:你這已經是在容器中了吧,你的nginx容器啟動后,80端口就已經起來了,你在運行nginx,肯定顯示被占用了。
相關文章:
1. angular.js - 關于$apply()2. docker-compose 為何找不到配置文件?3. MySQL數據庫中文亂碼的原因4. docker gitlab 如何git clone?5. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下6. mysql - 新浪微博中的關注功能是如何設計表結構的?7. css - C#與java開發Windows程序哪個好?8. 在windows下安裝docker Toolbox 啟動Docker Quickstart Terminal 失?。?/a>9. dockerfile - 為什么docker容器啟動不了?10.排行榜MySQL數據庫中文亂碼的原因 1. docker gitlab 如何git clone? 2. docker-compose 為何找不到配置文件? 3. angular.js - 關于$apply() 4. 5. docker api 開發的端口怎么獲??? 6. dockerfile - 為什么docker容器啟動不了? 7. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下 8. angular.js - angularjs的自定義過濾器如何給文字加顏色? 9. css - C#與java開發Windows程序哪個好? 10. mysql - 新浪微博中的關注功能是如何設計表結構的?