Tag: 谷歌云存储

将Google服务帐户凭据传递给Docker

我的使用案例与其他使用这个问题的使用案例稍有不同,所以稍加说明: 我在Google Cloud上工作,并有一个“dockerized”的Django应用程序。 部分应用程序取决于使用gsutil将文件移入/移出Google存储分区。 由于各种原因,我们不希望使用Google Container Engine来pipe理我们的容器。 相反,我们想通过启动额外的Google Compute虚拟机进行横向扩展,而后者又将运行此Docker容器。 类似于https://cloud.google.com/python/tutorials/bookshelf-on-compute-engine,除了我们将使用容器而不是拉一个git仓库。 虚拟机将从一个基本的Debian镜像构build​​,启动和安装依赖关系(例如Docker本身)将使用启动脚本(例如, gcloud compute instances create some-instance –metadata-from-file startup-script=/path/to/startup.sh )。 如果我手动创build一个虚拟机,用sudo -s提升,运行gsutil config -f (在/root/.boto创build一个凭证文件),然后运行我的docker容器(见下面的Dockerfile) docker run -v /root/.boto:/root/.boto username/gs gsutil ls gs://my-test-bucket 那么它的工作。 但是,这需要我的交互来创buildboto文件。 我的问题是 :如何将默认服务凭证传递到将在新VM中启动的Docker容器? gsutil即使在“全新的”Debian虚拟机上也能使用,因为它使用所有虚拟机加载的默认计算引擎凭证。 有没有办法使用这些凭据,并将它们传递到docker集装箱? 在第一次调用gsutil到一个新的VM之后,我注意到它创build了〜/ .gsutil和〜/ .config文件夹。 不幸的是,在Docker中安装这两个 docker run -v ~/.config/:/root/.config -v ~/.gsutil:/root/.gsutil username/gs gsutil ls gs://my-test-bucket 不解决我的问题。 它告诉我: ServiceException: […]

Google容器引擎:访问云端存储

我无法使用Google Container Engine中的应用程序默认凭证。 该文档说,他们的目的是为应用程序引擎和计算引擎,但我已经被告知,他们应该透明地通过容器引擎上运行的容器。 这是失败的代码: credentials = GoogleCredentials.get_application_default() service = discovery.build('storage', 'v1', credentials=credentials) 它失败的错误: AssertionError: No api proxy found for service "memcache" 期望应用程序默认凭据与容器引擎一起使用是否正确? 如果没有,任何人都可以推荐正确的方式来连接到容器上运行的容器的云存储? 谢谢。 编辑:在运行gcloud beta auth application-default activate-service-account –key-file <my_key>.json上述Python示例中的credentials对象填充数据。 不过,我仍然得到相同的错误。

gsutil:无法在www.googleapis.com上find服务器

在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 […]

Docker:谷歌/docker – registry容器的使用

Google / docker-registry容器是否仅用于从Google云端存储推送/提取图片? 我目前在Git上遵循他们的指示 ,并运行docker-registry容器,但似乎无法从我的桶中拉出来。 我开始与它: sudo docker run -d -e GCS_BUCKET=mybucket -p 5000:5000 google/docker-registry 我在云存储中存储了一个.tar Docker镜像,位于mybucket / imagename.tar。 但是,当我执行: sudo docker pull localhost:5000/imagename.tar 它导致: 2014/07/10 19:15:50 HTTP代码:404 我做错了吗?

在Docker容器里推荐GCE服务帐号authentication?

在定制的CentOS Docker容器中部署Google服务帐户凭证的最佳方式是在Google的Container Engine或其“container-vm”上运行? 这种行为自动发生在运行debian的google / cloud-sdk容器上,并且包含了我没有使用的东西,例如app-eng / java / php。 理想情况下,我试图访问我的项目中的非公共资源,例如Google Cloud Storage存储桶对象,而不必每次login和授权大量这些容器启动。 例如,在安装了自定义代码和gcloud / gsutil的GCE上运行的基础Centos容器上运行时: docker run –rm -ti custom-container gsutil ls 系统会提示您运行“gsutil config”以获得授权,我期望。 然而,将google / cloud-sdk容器拉到相同的GCE上并执行相同的命令,似乎巧妙地configuration了凭据的inheritance(可能来自主机container-vm的凭据?)。 当在GCE上运行容器来访问专用资源时,这似乎绕过运行“gsutil config”。 我正在寻找复制这个行为在最小的build设Centos容器大规模部署。

使用gcsfuse挂载谷歌存储时,Docker构build失败

我一直在试图安装SQL和一个存储桶到我的docker的WordPress容器。 它似乎成功安装SQL,但未能安装存储桶。 实例是基于这篇文章 。 我已经附加了Docker文件和错误,以及我的生成命令。 构build命令: docker build -t ic/spm . Dockerfile: FROM wordpress MAINTAINER Gareth Williams <gareth@itinerateconsulting.com> # Move login creds locally ADD ./creds.json /creds.json # install sudo, wget and gcsfuse ENV GCSFUSE_REPO=gcsfuse-jessie RUN apt-get update && \ apt-get -y install sudo && \ apt-get install -y curl ca-certificates && \ echo "deb http://packages.cloud.google.com/apt […]

挂载gcePersistentDisk kubernetes卷是非常缓慢的

我启动一个kubernetes复制控制器。 当此复制控制器中的单个容器中的对应容器具有指定的gcePersistentDisk ,Pod将启动非常慢。 5分钟后,吊舱仍处于Pending状态。 kubectl get po会告诉我: NAME READY STATUS RESTARTS AGE app-1-a4ni7 0/1 Pending 0 5m 如果没有gcePersistentDisk ,吊舱在最多30秒内Running 。 (我使用的是10 GB的Google云端存储磁盘,并且我知道这些磁盘的容量较低,但我不确定这是否是问题。) 这可能是什么原因?