docker映射端口出错的解决办法:1、切换到root账户;2、通过“netstat -nap”命令查看程序运行的pid;3、通过“kill -9 2901 su u260517”命令杀死程序并切换程序即可。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。
docker映射端口出错怎么办?
docker 映射端口出错解决
一、问题
docker run -itd --name hyperlpr_fastapi -p8668:8668 hyperlpr_fastapi:v1.0
登录后复制
运行docker 镜像 出现端口绑定已经使用的问题:
docker: Error response from daemon: driver failed programming external connectivity on endpoint hyperlpr_fastapi (646d9ef9ad18cab0a5dd981d8fd2280f010d62c2b7c06dd1c17370fceeebfe86): Error starting userland proxy: listen tcp 0.0.0.0:8668: bind: address already in use.
登录后复制
二、解决方法
切换到root账户,netstat -nap 查看程序运行的pid,查找8668端口,可以发现确实被占用了,记住PID
当然也可以直接找到某个端口是否被占用,命令:netstat -nap | grep 8668
su root # 切换到root账户 netstat -nap | grep 8668 # 查看pid tcp 0 0 0.0.0.0:8668 0.0.0.0:* LISTEN 2901/python tcp 540778 0 127.0.0.1:54836 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54740 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54820 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54792 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54742 127.0.0.1:8668 CLOSE_WAIT 24527/python tcp 540778 0 127.0.0.1:54766 127.0.0.1:8668 CLOSE_WAIT 24527/python
登录后复制
kill PID,杀死该进程 ,这里是kill 0
kill -9 2901 # 杀死程序 su u260517 # 切换到普通用户
登录后复制
推荐学习:《docker视频教程》