我必须制作 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 许可协议
可能您已经在端口 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 服务器。