Maison > Questions et réponses > le corps du texte
[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
PHPz2017-04-24 16:01:58
Pas sûr, mais cela ne devrait rien avoir à voir avec le mappage des ports de Docker. Le mappage des relations de Docker équivaut à configurer une règle de correspondance de port dans la boîte virtuelle. Cela équivaut à transférer le port externe vers. le conteneur interne dans le port.
Votre erreur devrait donc être que le port interne de Docker est occupé. Essayez lsof -i :80 et voyez
高洛峰2017-04-24 16:01:58
Quel miroir utilisez-vous ?
S'il s'agit du nginx officiel, le processus nginx a déjà été démarré. À ce stade, vous ne pouvez bien sûr pas en démarrer un autre sur 80
怪我咯2017-04-24 16:01:58
Le sujet peut entrer dans l'instance du conteneur Docker de nginx et vérifier si nginx a été démarré :
ps -ef | grep nginx
# or
netstat -ntpl | grep 80
S'il a déjà été démarré, il n'est pas nécessaire de le redémarrer
我想大声告诉你2017-04-24 16:01:58
Vous êtes déjà dans le conteneur. Une fois votre conteneur nginx démarré, le port 80 est déjà actif. Si vous exécutez nginx, il doit montrer qu'il est occupé.