Alexxosipov
Alexxosipov

Reputation: 1244

Docker Nginx image starts, but fails with error "port already in use"

I have docker container with the alphine-nginx image. I push 5 Nginx configuration files to this container, but it does not work and fails with a "port already in use" inside the container. Each configuration file contains an different port, but it fails on start.

error.log has:

019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:80 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2447 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2450 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2448 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to 0.0.0.0:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: bind() to [::]:2449 failed (98: Address in use)
2019/10/13 14:57:17 [emerg] 21#21: still could not bind()

netstat -ltnp info:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.11:33623        0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:2447            0.0.0.0:*               LISTEN      9/nginx: master pro
tcp        0      0 0.0.0.0:2448            0.0.0.0:*               LISTEN      9/nginx: master pro
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      9/nginx: master pro
tcp        0      0 0.0.0.0:2449            0.0.0.0:*               LISTEN      9/nginx: master pro
tcp        0      0 0.0.0.0:2450            0.0.0.0:*               LISTEN      9/nginx: master pro
tcp        0      0 :::2447                 :::*                    LISTEN      9/nginx: master pro
tcp        0      0 :::2448                 :::*                    LISTEN      9/nginx: master pro
tcp        0      0 :::80                   :::*                    LISTEN      9/nginx: master pro
tcp        0      0 :::2449                 :::*                    LISTEN      9/nginx: master pro
tcp        0      0 :::2450                 :::*                    LISTEN      9/nginx: master pro

As I see, something starts Nginx, but how to check what is it?

Docker ps: Docker ps

Upvotes: 0

Views: 957

Answers (1)

ceth
ceth

Reputation: 45325

You have a process of id (PID) of the process which have taken the port. You can use ps -p 9 -o comm= to get a command line for this process.

I think it is docker. In this case try docker ps to get the list of running docker containers.

And you can just kill this process by kill -9 9.

Updated: I have tried to run container by docker run nginx:1.17.4-alpine and don't have any problem. If you build custom image or use additional settings or configurations which a different from default - you need to describe them.

Upvotes: 1

Related Questions