[root@8f52078ea4e6 config]# nginx
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] 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
よくわかりませんが、Docker のポート マッピングとは関係ありません。Docker の関係マッピングは、仮想ボックスでのポート マッチング ルールの設定と同等であり、このポートは内部ポートに転送されません。コンテナポート。
したがって、あなたのエラーは、docker の内部ポートが占有されているということになるはずです。 lsof -i :80 を試してみてください
どのミラーを使用していますか?
公式のnginxであれば、この時点ではもちろん80で別のnginxプロセスを起動することはできません
サブジェクトは nginx の docker コンテナ インスタンスに入り、nginx が開始されているかどうかを確認できます:
リーリーすでに開始されている場合は、再度開始する必要はありません
すでにコンテナ内にいますよね? nginx コンテナが起動された後、ポート 80 はすでに稼働しています。nginx を実行している場合は、ポートが占有されていることが表示されます。