Docker starts mysql5.7 and reports Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
- 1. The error is as follows: Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
- 2. Use the `netstat -tanlp` command to query
- 3. `kill 1454` query again, you can see that port 3306 has been released
- 4. Restart `systemctl restart docker`
1. The error is as follows: Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
docker.io/library/mysql:5.7 [root@CentOS7 ~]# docker run -p 3306:3306 --name mysql \ > -v /mydata/mysql/log:/var/log/mysql \ > -v /mydata/mysql/data:/var/lib/mysql \ > -v /mydata/mysql/conf:/etc/mysql \ > -e MYSQL_ROOT_PASSWORD=root \ > -d mysql:5.7 6da1e73bdbb0234153c1dc23e25479897cd075d254d39dfb2d9d934571bf00c7 docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql (44413c44d35c9c05438197a65d380c06d9365031b931b1f59b7266d05980cabd): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.
2. Use the netstat -tanlp
command to query
It is known that:
The reason is that port 3306 is occupied by the process ID of PID=1454.
3, kill 1454
query again, you can see that port 3306 has been released
4. Restart systemctl restart docker
docker run again and it is successful
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7