首页 > 解决方案 > 无法将 Google Kubernetes 教程中的示例应用程序容器化

问题描述

我无法将 Google 提供的示例应用程序容器化,这意味着它要么是一个全球性问题,要么是我忽略的非常明显的问题。

所以。我正在使用默认 Dockerfile 的https://cloud.google.com/php/tutorials/bookshelf-on-kubernetes-engine上的 Google PHP Bookshelf Tutorial 工作,也就是说:

FROM gcr.io/google_appengine/php

# Add our NGINX and php.ini config
ENV DOCUMENT_ROOT=${APP_DIR}/web

# Workaround for AUFS-related permission issue:
# See https://github.com/docker/docker/issues/783#issuecomment-56013588
RUN cp -R ${APP_DIR} ${APP_DIR}-copy; rm -r ${APP_DIR}; mv ${APP_DIR}-copy ${APP_DIR}; chmod -R 550 ${APP_DIR}; chown -R root.www-data ${APP_DIR}

当我在目录中运行此命令时:

docker build -t gcr.io/{ID}/bookshelf .

我收到以下错误消息:

Get:19 http://packages.cloud.google.com/apt gcp-php-runtime-xenial-20181210-1/main amd64 gcp-php72-stackdriver-debugger amd64 0.2.0-7.2.13-1 [16.3 kB]
Fetched 13.1 MB in 3s (3762 kB/s)
W: http://packages.cloud.google.com/apt/pool/gcp-php72-cassandra_1.3.2-7.2.13-1_amd64_ada32d7a11b6c82aaa6b1ac862ef703f9b7fe1c16f640b695465a64457cd4aa4.deb: Automatically disabled Acquire::http::Pipeline-Depth due to incorrect response from server/proxy. (man 5 apt.conf)
E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-apcu_5.1.15-7.2.13-1_amd64_15fbd2c2e40acf5c27e025da6a2a91bae6c5d91474e2bc1d6701a38e1694b141.deb  400  Bad Request

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-apcu-bc_1.0.4-7.2.13-1_amd64_2df44251c7d74210da6f81d5008759ae05c6a7508bd867641c3e2a5d09c37023.deb  405  Method Not Allowed

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-cassandra_1.3.2-7.2.13-1_amd64_ada32d7a11b6c82aaa6b1ac862ef703f9b7fe1c16f640b695465a64457cd4aa4.deb  Hash Sum mismatch

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-ev_1.0.4-7.2.13-1_amd64_7070488b0e864419786e936ecb37a1db16b8da2ffe7bb6d477de6efd17fb6033.deb  Hash Sum mismatch

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-event_2.4.3-7.2.13-1_amd64_43ac00ba31d1d0ef2fb882ea1ea8e7734153e764a083547b4670febde058ec18.deb  Hash Sum mismatch

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-grpc_1.17.0-7.2.13-1_amd64_bdd2d379362ab3f30d1360059d73d216ba14e1602ee0e4dd57981da14a7fb08f.deb  Hash Sum mismatch

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcp-php72-imagick_3.4.3-7.2.13-1_amd64_5ade1cea82cf4ac52e7c999e5a93239f12fba76ecf9865a7ad7e9f0fdbd142bd.deb  Writing more data than expected (91276 > 85662)

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

The command '/bin/sh -c /build-scripts/composer.sh' returned a non-zero code: 100

每当我尝试在任何地方运行构建时都会发生此错误 - 即使我在本地机器上进行测试,它仍然会爆炸。

是什么赋予了?

标签: google-app-enginegoogle-cloud-platformgoogle-kubernetes-engine

解决方案


apt 错误Hash Sum mismatch, 400 Bad Request,表明当时 apt 软件包存储库405 Method Not Allowed问题Writing more data than expected (91276 > 85662)

因此,我假设当时的 repo 出现了问题(或者由于网络中的故障可能导致 APT 表达这些错误而收到部分响应)。

我现在已经成功构建了本教程的 Dockerfile。所以我认为这是一个暂时的问题。


推荐阅读