我必须制作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
请帮助!

最佳答案

可能您已经在端口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服务器。

10-07 23:52