请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

两个link的容器需要用户一至吗?

请教一下,我用vagrant安装了nginx和php的镜像,先生成了php容器,然后生成nginx容器的时候linke了php容器。其中启动nginx的时候用户是nginx,但php-fpm的用户是root。
现在访问报错,2020/12/09 04:31:48 [error] 19#19: *1 FastCGI sent in stderr: “Primary script unknown” while reading response header from upstream, client: 192.168.10.130, server: vm.wallet, request: “GET /vm.wallet HTTP/1.1”, upstream: “fastcgi://172.17.0.2:9000”, host: "192.168.10.163"
我是否需要统一用户名?还是其他地方出问题了?折腾2天了,求帮助。

正在回答

1回答

您好,这个网络访问应该和用户无关,我不知道您是怎么进行的操作,我这里按照我的理解,做一下,我启动一个nginx,然后再启动一个php(进入到shell),然后我就可以直接在PHP里访问这个名字叫nginx的container了,而且可以访问它的80端口的web服务

https://img1.sycdn.imooc.com/szimg/5fd1509709c7b89f22642024.jpg

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕虎4093423 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-12-10 11:09:17
  • 提问者 weixin_慕虎4093423 #2
    后来发现问题了,因为我的项目只挂载到了nginx的容器里面,但没有挂载到php的容器里面。所以导致的Primary script unknown。的确和用户无关,因为只是接口的调用。
    回复 有任何疑惑可以回复我~ 2020-12-10 11:11:08
  • 提问者 weixin_慕虎4093423 #3
    另外还想再问个问题,我的两个容器是这样启动的。
    
    
    docker run -it -d --name php_phalcon4 -p 9000:9000 -v /workspace/xcloud:/var/www:rw  --privileged=true mileschou/phalcon:7.2-fpm 
    
    
    docker run -d --name nginx -p 80:80 -p 2015:2015 -v /workspace/xcloud:/var/www -v /workspace/logs/nginx:/var/logs/nginx  -v /workspace/config/nginx/nginx.conf:/etc/nginx/nginx.conf -v /workspace/config/nginx/conf.d:/etc/nginx/conf.d --link php_phalcon4:php  --privileged=true  nginx:alpine
    
    项目在xcloud下面,但其中有一个项目需要自动创建runtime文件夹,报错mkdir禁止运行。但我已经在给xcloud赋予chmod -R 777了。重启还是不行。
    
    是否是因为我nginx容器内调用nginx的用户和php容器内调用php-fpm的用户不一致?
    回复 有任何疑惑可以回复我~ 2020-12-10 11:14:17
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信