因此,在我的主机环境中,我在端口10000上运行此tomcat服务,因此我可以访问办公室内部服务。
我有一个Windows主机条目:
localhost developer.mycompany.com
所以我可以访问端点developer.mycompany.com:10000/some/url
,如果成功则返回json响应。
我还有一个Docker compose文件,它已经启动了nginx和php-fpm容器,并将它们链接起来运行基于Linux的PHP开发环境。
我想要实现的是使docker容器知道developer.mycomoany.com
主机条目。因此,当我的linke容器上的PHP代码向http://developer.mycompany.com:10000/some/url
发送POST请求时,它知道主机条目并且能够达到该终点。
我尝试过配置net=host
,但这不适用于链接容器。
PHP应用程序错误消息:
{“result”:{“success”:false,“message”:“创建资源时出错:[message] fopen():php_network_getaddresses:getaddrinfo failed:名称或服务未知\ n [file] / srv / http /vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php\n[line] 282 \ n [message] fopen(http://developer.mycompany.com:10000/app/register):无法打开流:php_network_getaddresses :getaddrinfo失败:名称或服务未知\ n [file] /srv/http/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php\n[line] 282“}}
如何在我的链接容器上启用我的PHP应用程序以与主机developer.mycompany.com
(localhost)条目通信?
这是我的docker-compose:
app:
image: linxlad/docker-php-fpm
tty: true
ports:
- "9000:9000"
volumes:
- ./logs/php-fpm:/var/log/php-fpm
- ~/Development/Apps/php-hello-world:/srv/http
web:
image: linxlad/docker-nginx
ports:
- "8080:80"
volumes:
- ./conf/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
- ~/Development/Apps/php-hello-world:/srv/http
links:
- app
编辑:
她是我的docker机器的ifconfig输出。
由于
答案 0 :(得分:0)
我找到了我的docker机器的IP,并在我的主机nginx代理配置中使用了它,然后将其重定向到我的docker容器中的nginx位置配置。
主持人nginx:
location /apps/myapp/appversion {
proxy_pass http://192.168.99.100:8080;
}
Docker Nginx容器配置:
location /apps/myapp/appversion {
try_files $uri $uri/ /index.php?args;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php last;
}
}