安装nginx之类的docker容器,外部无法访问。

最近想用docker跑laravel,于是在docker hub搜了下,发现了这个镜像

于是我先照着他给的文档上的,只共享app和public这个两个目录,外部访问无异常,只是会报错缺少包(因为vendor不同),所以可以确定,这个镜像是没问题的。

但是我如果换一下,改为共享整个项目 -v $PWD/:/var/www/laravel, (当前就在项目的根目录),就会报错:

clipboard.png

我尝试exec进入容器,在容器内执行curl localhost,也会出错。

求问什么原因?

阅读 3.8k
2 个回答

这个有可能就是权限问题了【app和public】之外的某些目录可能要有写的权限

不了解laravel,看起来 你想全部映射的这个目录里面除了 app/vendor/public 三个目录外,还有其它目录。 你这样映射会把其它文件映射没了。容器内就访问不到了。

-v 主机目录:容器目录
这个参数的意义是 把主机目录映射到 容器目录。 容器内访问 这个容器目录 就是访问到 主机目录这个目录。 不知道你看不看得懂。。

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