启动用户态代理时出错:监听 tcp 0.0.0.0:3306:绑定:地址已在使用中

新手上路,请多包涵

我必须制作 Laravel 应用程序并交付 Dockerfile,但我真的坚持这一点。在此之前,我在我的机器上安装 laravel 时遇到了噩梦。

我正在尝试获取 dockervel 图像并按照此处的步骤操作: http ://www.spiralout.eu/2015/12/dockervel-laravel-development.html

但是当我运行 dartisan make:auth 时,它会在下面给出这个错误:

 **ERROR:** for dockervel_mysql_1  **Cannot restart container** c258b418c03cbd6ec02c349c12cf09403f0eaf42fa9248019af7860d037d6474: **driver failed programming external connectivity on endpoint dockervel_mysql_1** (da3dd576458aa1fe3af7b539c48b9d61d97432cf5e9ee02d78562851f53981ae): E**rror starting userland proxy: listen tcp0.0.0.0:3306: bind: address already in use.**

我试图更改 docker-compose.yml 中的默认端口

   ports:
     - "8084:80"

仍然没有,还尝试在我的机器上停止 apache2 ( service apache2 stop ),还尝试了 docker-compose restart 并删除了 docker 容器 dockervel_mysql_1

不得不提的是,我已经有一个 Laravel proj./var/www/laravel

请帮忙!

原文由 moonlight 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 804
2 个回答

可能您已经在端口 3306 中运行了一个 MySQL 服务。您应该先将其关闭。

然后尝试结束 docker-compose down 并用 docker-compose up 重新启动它。

还记得在项目中添加文件(如 dartisan make:auth )后更改权限 dpermit

更新: 由于您已将端口更改为“8084”,您应该转到 localhost:8084

如果您看到 apache 默认值,那么您可能正在浏览另一台服务器,因为 dockervel 是基于 nginx 构建的。

您可能在 Docker 上也存在一些差距。不要将本地存储与 docker 存储混用。 /var/www 在容器中与您的本地 /var/www 不同。在 docker-compose.yml 中,您将本地 ~/dockervel/www 安装到容器 /var/www

我建议您重新开始并恢复您对 apache 服务器所做的更改。关闭它,你不需要它。 Dockervel 将在容器中为您提供 NginX 服务器。

原文由 Spiral Out 发布,翻译遵循 CC BY-SA 3.0 许可协议

我知道这个问题已经很老了,但有人仍在寻找答案。您不必运行任何 kill 命令,而是可以使用 --remove-orphans 标志,它会为您清理它。例如

docker-compose up -d --build --remove-orphans

原文由 rashidkhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题