【问题标题】:gsutil: Unable to find the server at www.googleapis.comgsutil:无法在 www.googleapis.com 找到服务器
【发布时间】:2017-03-29 21:30:27
【问题描述】:

Docker for Mac 1.12.3 上给出了这个 Dockerfile:

FROM debian:jessie
ENV DEBIAN_FRONTEND=noninteractive

RUN \
  apt-get update && \
  apt-get install --no-install-recommends --fix-missing -y -q \
    ca-certificates \
    curl \
    python \
    python-openssl \
    && \
  apt-get clean autoclean && \
  apt-get autoremove -y && \
  rm -rf /var/lib/{apt,dpkg,cache,log}/

ENV GOOGLE_CLOUD_SDK=/google-cloud-sdk
ENV PATH=$PATH:$GOOGLE_CLOUD_SDK/bin
RUN \
  export GOOGLE_SDK_URL=https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-134.0.0-linux-x86_64.tar.gz && \
  mkdir $GOOGLE_CLOUD_SDK && \
  curl --silent $GOOGLE_SDK_URL | tar xvzf - -C $GOOGLE_CLOUD_SDK --strip-components=1 && \
  gcloud init

跑步

docker build -t gsutil .

将产生

Welcome! This command will take you through the configuration of gcloud.

Your current configuration has been set to: [default]

You can skip diagnostics next time by using the following flag:
  gcloud init --skip-diagnostics

Network diagnostic detects and fixes local network connection issues.
Checking network connection..................done.
ERROR: Reachability Check failed.
    Cannot reach https://cloudresourcemanager.googleapis.com/v1beta1/projects (ServerNotFoundError)
    Cannot reach https://www.googleapis.com/auth/cloud-platform (ServerNotFoundError)
    Cannot reach https://dl.google.com/dl/cloudsdk/channels/rapid/components-2.json (ServerNotFoundError)
Network connection problems may be due to proxy or firewall settings.


Do you have a network proxy you would like to set in gcloud (Y/n)?
Select the proxy type:
 [1] HTTP
 [2] HTTP_NO_TUNNEL
 [3] SOCKS4
 [4] SOCKS5
Please enter your numeric choice:
ERROR: Network diagnostic (0/1 checks) failed.

Network errors detected.

Would you like to continue anyways (y/N)?
You can re-run diagnostics with the following command:
  gcloud info --run-diagnostics

这里提出了一些修复https://code.google.com/p/google-cloud-sdk/issues/detail?can=2&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Stars%20Summary%20log&groupby=&sort=&id=1146,例如:

gcloud config set custom_ca_certs_file /etc/ssl/certs/ca-certificates.crt

这修复了 gcloud init 故障,但是当我尝试使用 gsutil 对我的任何存储桶进行操作时,我得到:

DEBUG 1115 20:39:17.746218 http_wrapper.py] Caught server not found error, retrying: Unable to find the server at www.googleapis.com

我的身份验证方法是activate-service-account,其 JSON 密钥如下:

COPY ./mykey.json ./mykey.json
RUN gcloud auth activate-service-account --key-file=mykey.json

任何想法如何解决这个问题?

-- 更新--

我从 dockerfile 备份了一个图像并将其推送到 Docker Hub。要重现问题,请下载 GS 密钥并将其重命名为 key.json 并运行:

docker run -it --rm -v $(pwd)/key.json:/key.json kilianciuffolo/gsutil bash
root@905045dd14eb:/# gcloud auth activate-service-account --key-file=/key.json && gsutil -D ls gs://my-test-bucket

【问题讨论】:

  • 此设置后,curl 是否适用于 www.googleapis.com?我认为它确实如此,因为 curl 从 dl.google.com 检索了 gcloud 包。将 gsutil -D 的 HTTP 请求输出与 curl 进行比较以查看有什么不同可能会很有用。如果 curl 不起作用,那么这是检查网络的一个很好的起点。
  • @TravisHobrla 我有预感这是 python HTTP 客户端和它使用的证书的问题。设置 custom_ca_certs_file 可修复 gcloud CLI,但不能修复 gsutil。 curling googleapis.com/storage/etc... 按预期导致登录错误。
  • 这是有道理的。 gsutil 不使用 gcloud 的证书文件配置。您可以尝试通过添加到 ~/.boto [Boto] ca_certificates_file = /path/to/file 来为 gsutil 设置 ca certs 文件吗(在 [Boto] 之后需要换行符,但 StackOverflow 不允许 cmets 中的换行符)
  • @TravisHobrla 尝试过,但没有成功。
  • gsutil -D 的 HTTP 请求输出和 curl 到同一个端点之间是否还有其他区别?如果没有,您能否将带有 gsutil -D 日志的邮件发送到 gs-team@google.com,以便我跟进您?

标签: docker google-cloud-storage google-cloud-platform gsutil docker-for-mac


【解决方案1】:

我找到了解决办法!

在我的撰写文件中,我使用:dns: 8.8.8.8,它现在可以完美运行。

奇怪的是,在我的主机 macOS 10.12.1 和 Docker for Mac 0.12.3 上,我已经在使用 Google DNS。

可能是 Docker 网络/DNS 中的错误?

【讨论】:

  • 很高兴听到这个消息!我已经更新了code.google.com/p/google-cloud-sdk/issues/detail?id=1146 以及您的解决方法,以防其他人将来遇到这些 DNS 问题。
  • 我什至没有使用 docker。在我的 mac 机器上仍然出现此错误。我将8.8.8.8 DNS 添加到系统设置中。问题已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-31
  • 2018-07-30
相关资源
最近更新 更多