我在需要用户/密码身份验证的公司代理后面。我在 Windows 10 机器上的 docker 客户端中输入了凭据。这些设置过去曾有效。我在我的 docker build
进程中使用与 --build-arg
相同的凭据,它也有效。我可以构建基于 openSUSE 的镜像并运行它。
图像包含 cURL 和 composer(用于 PHP 开发)。我可以毫无问题地在公司代理网络之外使用这些工具。然而,在公司内部,我尝试:
curl --silent --show-error https://getcomposer.org/installer | php
或
composer self 更新
我收到了这个错误信息:
无法打开流:无法找到套接字传输“xxx” - 您是否在配置 PHP 时忘记启用它?
其中 xxx 是我在 docker 代理设置中的用户名 username:password@123.456.789.0:port
据我了解,curl 和 composer 认为我的用户名是一个应该用于下载文件的协议(protocol)。这可能应该是“http”或“ssl”等!?
非常感谢任何帮助!我正在使用 zypper 安装 curl:zypper --non-interactive install curl php7 php7-curl php7-openssl php-composer...
最佳答案
代理是开发工具的 hell 。您必须考虑每个工具的代理配置。 我的建议是安装一个工具来透明地将所有流量从主机路由到代理。
一旦这样的 Windows 工具是 proxycap .在您的机器上安装它后,所有流量都应重定向到代理,您不必为任何工具配置代理设置。
关于php - 找不到套接字传输 "username"(cURL 或 docker 容器内的 composer),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47534810/