我在docker中有
从外壳创建pfs可以正常工作:
curl --form file=@/var/xxx/documents/output-odt/test.odt http://localhost:3000/unoconv/pdf> /var/xxx/documents/output-odt/test.pdf
但是当从我的php-5.6-apache容器中调用localhost时,无法正确识别它。
当我使用检查的容器的IP地址时,它可以从php运行,例如http://172.18.0.4:3000。但这不是一个好的解决方案,因为服务器重启时IP地址会更改。
问题:
谢谢
答案 0 :(得分:-1)
通过将容器端口发布到使用该端口的计算机上来如何在Docker中调用Web服务?
。
通常是通过docker run -p
完成的,但是我不确定您的设置
应该使用什么代替localhost?
0.0.0.0(与localhost相同,但包括计算机上的所有接口)
或者我该如何寻址我的网络?
您可以尝试让您的容器访问主机网络:https://docs.docker.com/network/network-tutorial-host/
答案 1 :(得分:-1)
现在我知道问题出在哪里:D
此命令仅在从其他容器调用时有效。在我的情况下从PHP。在OS Shell中无法正常运行,这就是为什么让我感到困惑的原因:
curl --form file=@/var/xxx/documents/output-odt/test.odt http://unoconv:3000/unoconv/pdf> /var/xxx/documents/output-odt/test.pdf
此命令仅在从OS Shell调用时有效: curl --form file=@/var/xxx/documents/output-odt/test.odt http://localhost:3000/unoconv/pdf> /var/xxx/documents/output-odt/test.pdf
感谢帮助