Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

docker-compose up erro no nginx

Quando executo comando docker-compose up, apresenta o seguinte erro:


ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint nginx (e3bb4e90efb3b05dd7c3d52cfbfef2cd0c94a06f5d895cb24bd75e747707cc3f): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use

Troquei para outras portas, como 8080, 81, 82, ... mas ai aparece erro no site

5 respostas

Olá Matheus o problema e que existe algum outro container em sua maquina usando a porta 80 (ou quem sabe um app) "listen tcp4 0.0.0.0:80: bind: address already" , vc pode verificar a lista de containers rodando usando o comando ** docker ps ** procure por algum container que esteja rodando na porta 80 e se nao houver problemas pode interromper com comando docker stop nome/id_container

exemplo de container rodando na 80

CONTAINER ID   IMAGE                    COMMAND                  CREATED              STATUS              PORTS                               NAMES
545454545454   docker/getting-started   "/docker-entrypoint.…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, :::80->80/tcp   col_cohn

Repare na coluna PORTS veja que ele recebe 80 da maquina e manda para 80 do container seu erro é porque alguem ja esta usando a 80 da sua maquina.

Então, pior que não há nenhum container usando essa porta:

CONTAINER ID   IMAGE                  COMMAND                  CREATED        STATUS          PORTS                                         NAMES
2c193e3ad1a0   douglasq/alura-books   "/bin/sh -c 'npm sta…"   18 hours ago   Up 15 seconds   0.0.0.0:49155->3000/tcp, :::49155->3000/tcp   alura-books-2
55fc00703a96   douglasq/alura-books   "/bin/sh -c 'npm sta…"   18 hours ago   Up 15 seconds   0.0.0.0:49154->3000/tcp, :::49154->3000/tcp   alura-books-1
8a071a3ae49f   douglasq/alura-books   "/bin/sh -c 'npm sta…"   18 hours ago   Up 15 seconds   0.0.0.0:49153->3000/tcp, :::49153->3000/tcp   alura-books-3
342034459de2   mongo                  "docker-entrypoint.s…"   18 hours ago   Up 16 seconds   27017/tcp                                     aluradockercap06_mongodb_1

Ok se vc usa linux tenta fazer isso pode ser uma aplicação, rode o comando sudo ss -ntlp| grep 80 OU sudo netstat -pna | grep 80 veja tem alguma aplicativo na sua maquina rodando na 80

Me retornou isso:


LISTEN    0         511                      *:80                     *:*        users:(("apache2",pid=901,fd=4),("apache2",pid=900,fd=4),("apache2",pid=899,fd=4),("apache2",pid=898,fd=4),("apache2",pid=897,fd=4),("apache2",pid=891,fd=4))
solução!

Boa voce tem um apache (um webserver) que por padrao abriu a porta 80 na sua maquina, se nao tiver problema pra voce podemos parar ele para voce fazer os execicios e depois vc inicia ele novamente. para parar esse apache use sudo systemctl stop apache2 OU sudo service apache2 stop e para inicar depois de padar seus containers use sudo systemctl start apache2 OU sudo start apache2 a diferenta entre usar o systemctl ou service depende do tipo de inicializador do seus sistema tente um se nao der tente outro.

Outro ponto caso ele nao encontre o apache2 tente usar somente apache nos comandos...

Boa sorte