最近在使用docker的時候遇到了一個問題:無法啟動端口。下面是我的具體操作以及遇到的問題。
$ docker run -p 8080:80 nginx Unable to bind: Address already in use
在嘗試啟動nginx鏡像的時候,發(fā)現(xiàn)無法綁定端口8080。提示信息顯示該端口已經(jīng)被占用了。這是因為我本地已經(jīng)啟動了一個占用了8080端口的服務(wù)。
$ netstat -an | grep 8080 tcp6 0 0 :::8080 :::* LISTEN
通過上面的命令可以查看本地已經(jīng)占用了8080端口的服務(wù)進程,可以通過kill命令停止該服務(wù)進程,然后再啟動docker容器即可。
$ sudo kill $(sudo lsof -t -i:8080)
上述命令是查看占用了8080端口的進程ID并通過kill命令結(jié)束該進程。
在操作docker時,一定要注意端口號的沖突問題,可以通過使用netstat命令查看端口占用情況,并通過kill命令結(jié)束占用該端口的服務(wù)進程。避免端口沖突問題可以幫助我們順利啟動docker容器,提高工作效率。