老大别再贪吃了 2023-01-29 22:23 采纳率: 75%
浏览 54
已结题

docker容器启动问题报端口占用

docker启动mysql容器报错.
docker: Error response from daemon: driver failed programming external connectivity on endpoint mysql-master (cf828617afa45b50af0352599a07c0f816d57708b62d6602317ffe4231d04f2f): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

想问一下为什么我关闭了所有未启动的容器和运行容器,重启之后再运行还是会报端口占用? 但是我查了端口明明没有占用啊,然后每次我run一遍, 虽然报错了,但是docker ps -a中就会多出一个历史容器(不是正运行的), 这又是为什么, 不是端口被占用了吗? 这也会run成功?

求解答! 感谢!

img

  • 写回答

4条回答 默认 最新

  • bluetata 云计算领域优质创作者 2023-01-29 23:56
    关注

    你不要慌,你现在看我下面的讲解就明白了
    你首先要知道 docker ps 和 docker ps -a的区别,不要看百度那些瞎几X抄来超区的, docker ps -a 包括活着的也包括异常失败的,所以你启动失败的docker 在这里也会有显示,你可以认为 docker ps -a是查看所以历史docker状态,包括正在运行的, docker ps 只是查看当前正在运行的


    所以你现在问题中的描述是没问题的,你docker没有启动起来, docker ps 是查看不到当前运行的docker的,之后用docker ps -a可以看到失败的

    下面给你几个常用的清理命令

    # 杀死所有正在运行的容器:
    docker kill $(docker ps -a -q)
    
    # 删除所有已经停止的容器:
    docker rm $(docker ps -a -q)
    
    # 删除无用的镜像。 prune : 修剪;削减;修剪树枝;打杈;裁减;精简 :
    docker image prune
    
    # 删除所有未打标签的镜像。 dangling : 悬挂;悬摆 :
    docker rmi $(docker images -q -f dangling=true)
    
    # 删除所有镜像:
    docker rmi $(docker images -q)
    
    # 强制删除无法删除的镜像:
    docker rmi -f <IMAGE_ID>
    docker rmi -f $(docker images -q)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月8日
  • 已采纳回答 1月31日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 LSPI算法的大问题
  • ¥15 java导出word 动态填充数据
  • ¥15 python SSH连接设备使用STD读配置卡死的问题
  • ¥20 扑克的算牌公式及软件制作
  • ¥20 如何通过云图中RPG去计算云图上不同位置的值?
  • ¥15 请问不小心下载到了钓鱼软件怎么办?
  • ¥15 求国博抢票 求国博抢票 有的私
  • ¥50 swiftui @query 报错
  • ¥50 怎么解决刷卡或扫码后,点击软件输入框,win10屏幕键盘不会自动弹出的问题
  • ¥15 如何使用arcgispro的训练深度模型,发现water和nowater精度为0?(相关搜索:深度学习)