我正在使用"Google Cloud Container Builder"来构建和部署我的容器,但我需要执行构建步骤,然后推送我的图像,执行部署步骤.
据我所知,推送图像的方法是添加
images:
- 'gcr.io/$PROJECT_ID/image1'
- 'gcr.io/$PROJECT_ID/image2'
Run Code Online (Sandbox Code Playgroud)
到cloudbuild.yaml文件的底部,但如果我在推送图像后需要执行步骤怎么办?
我正在尝试使用JSON Key file登录到 Windows 10 上的 Google Container Registry 。我在 Mac 上可以正常工作,因此密钥文件肯定可以正常工作。
首先,我在让 docker login 函数接受 JSON 密钥文件的内容时遇到了问题。我试过在 CMD 中运行“ /set /p PASS... ”命令,我在 Powershell 中尝试了类似的东西:
docker login -u _json_key -p "$(Get-Content keyfile.json)" https://gcr.io
这些都会导致错误或这样:
“docker login”最多需要 1 个参数。
由于我无法让它工作,我跑了:
码头工人登录 -u _json_key https://gcr.io
然后手动从 JSON 文件中删除所有中断,将其复制到剪贴板并在提示输入密码时粘贴它。
这导致:
登录成功
问题解决了!对?
好吧显然不是。我仍然无法拉取我的图像,当我运行docker info 时,列出的唯一注册表是“ https://index.docker.io/v1/ ”。
我试过以管理员身份启动 Powershell,然后重新启动并重置 docker,但似乎没有任何帮助。
任何人都知道发生了什么?我该如何调试?
我正在运行 Docker 版本 17.12.0(稳定版)
powershell docker google-cloud-platform google-container-registry
我遵循了 Google 文档中的本指南,以便能够将自定义 Docker 映像推送到 Google Container Registry,然后能够使用此映像启动新的 GCE 实例。起初,我想尝试使用来自 docker hub的anaconda3 公共映像而无需任何修改(为了测试)。
所以这是我在安装 gcloud 和 docker 后到目前为止所做的步骤:
gcloud auth configure-docker -> 使用我的 gcloud 凭据配置 dockerdocker pull continuumio/anaconda3 -> 拉取公共镜像docker tag continuumio/anaconda3 eu.gcr.io/my-project-id/anaconda3 -> 使用文档中指定的注册表名称标记本地图像docker push eu.gcr.io/my-project-id/anaconda3 -> 将图像推送到 GCR好的 !我现在可以通过 GCR 界面查看我的图像,并且还可以使用 GCE 进行部署。我选择使用f1-micro实例、Container-Optimized OS 67-10575.62.0 stable、10 Go启动盘、允许 HTTP 流量等进行部署。
但是当我连接ssh到新创建的 VM 实例时,我找不到 anaconda3 库(应该在 中创建/opt/conda)。相反,我可以看到一个/opt/google目录,这让我认为该映像未正确部署并且 GCE 正在使用默认映像...
所以我尝试检查图像是否在 GCR 中被正确推送,所以我决定删除我的本地图像并再次从 …
我按照本指南将docker镜像推送到我的Google Cloud Container Registry.然而
docker push eu.grc.io/<project-id>/<image>:<tag>
Run Code Online (Sandbox Code Playgroud)
只返回
The push refers to repository [eu.grc.io/<project-id>/<image>]
Get https://eu.grc.io/v2/: dial tcp xx.xx.xxx.xx:443: connect: connection refused
Run Code Online (Sandbox Code Playgroud)
有没有人遇到此错误或知道如何让它工作?我认真的想法,我的网络配置可能有问题,但我不熟悉Ubuntu的那一方知道我应该寻找什么.对于上下文,我已按照本指南设置了一个用于托管jupyterhub的kubernetes集群.
我可以在本地运行图像,gcloud info返回所有正确的信息并gcloud auth configure-docker返回credential helpers already registered correctly.
附加信息:
Ubuntu 16.04
gcloud version
Google Cloud SDK 214.0.0
bq 2.0.34
core 2018.08.24
gsutil 4.33
docker version
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Run Code Online (Sandbox Code Playgroud) docker google-cloud-platform gcloud kubernetes google-container-registry
当我使用自托管(私有)Docker 镜像注册表进行部署时,出现以下错误:
This service will require authentication to be invoked.
Deploying container to Cloud Run service [serverless-functions-go] in project [PROJECT_ID] region [us-central1]
X Deploying new service...
. Creating Revision...
. Routing traffic...
Deployment failed
ERROR: (gcloud.beta.run.deploy) Invalid image provided in the revision template. Expected [region.]gcr.io/repo-path[:tag or @digest], obtained dtr.artifacts.xxx.com/xxxxx/xxxx/serverless-functions-go:latest
Run Code Online (Sandbox Code Playgroud)
在从我的私有 docker 镜像注册表中提取镜像之前,我需要使用如下命令:
docker login [options]
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
google-cloud-platform google-container-registry google-cloud-run
我目前正在学习 Kubernetes,并且正在使用 minikube 工具。我决定在运行 ubuntu/xenial64 的 VirtualBox 实例中安装该工具。我已使用 Vagrant 创建了此实例,并通过 ssh 连接了该实例。\n我已根据工具文档安装了 minikube - https://minikube.sigs.k8s.io/docs/start/。\n当我运行时:\n $ minikube start,\nit 失败并显示以下消息:
$ minikube start\n minikube v1.11.0 on Ubuntu 16.04 (vbox/amd64)\n\xe2\x9c\xa8 Using the docker driver based on existing profile\n Starting control plane node minikube in cluster minikube\n Pulling base image ...\n Unfortunately, could not download the base image gcr.io/k8s-minikube/kicbase:v0.0.10 \n\xe2\x9d\x97 In order to use the fall back image, you need to log in to the github packages registry\n Please visit …Run Code Online (Sandbox Code Playgroud) virtualbox docker kubernetes google-container-registry minikube
我正在尝试从 kubernetes 配置 php phabricator 示例,但在创建复制控制器之后。POD 从未显示为就绪状态。它显示在以下状态:
NAME READY STATUS RESTARTS AGE
phabricator-controller-z0nk3 0/1 CrashLoopBackOff 5 2m
Run Code Online (Sandbox Code Playgroud)
以下是控制器 yaml:
{
"kind": "ReplicationController",
"apiVersion": "v1",
"metadata": {
"name": "phabricator-controller",
"labels": {
"name": "phabricator"
}
},
"spec": {
"replicas": 1,
"selector": {
"name": "phabricator"
},
"template": {
"metadata": {
"labels": {
"name": "phabricator"
}
},
"spec": {
"containers": [
{
"name": "phabricator",
"image": "fgrzadkowski/example-php-phabricator",
"ports": [
{
"name": "http-server",
"containerPort": 80
}
]
}
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以建议我如何解决这个问题吗?
kubernetes google-kubernetes-engine google-container-registry
关于容器引擎的简短问题:为什么我应该使用它而不是仅仅在普通虚拟机(在计算引擎中)中处理我的 Docker 容器?这样可以省点钱
问候,马克
docker google-cloud-platform google-kubernetes-engine google-container-registry
我正在使用GitHub来保存我的项目.使用PHP风暴我将我的脚本推送到GitHub仓库.
我正在使用Google App引擎灵活的环境应用程序.每当我推送到我的GitHub仓库时.最新的脚本将自动部署到Google App Engine Flexible Environment PHP项目.因此,我在GCP容器注册表中创建了构建触发器.
这是我的PHP示例项目与Docker文件
网络/ index.php文件
<?php
Echo 'this is sample project';
?>
Run Code Online (Sandbox Code Playgroud)
的app.yaml
runtime: php
env: flex
runtime_config:
document_root: web
manual_scaling:
instances: 1
handlers:
- url: .*
script: index.php
Run Code Online (Sandbox Code Playgroud)
Composer.json
{
"require": {
"php": "7.1.*"
}
}
Run Code Online (Sandbox Code Playgroud)
Dockerfile
# Docker: Google App Engine
FROM gcr.io/google-appengine/php
Run Code Online (Sandbox Code Playgroud)
使用Google Cloud Platform容器注册表构建trigger.Created构建触发器.我得到了以下日志
构建记录器
starting build "4d51b494-5f7d-48e5-a2a2-6d7d6a9318a9"
FETCHSOURCE
Initialized empty Git repository in /workspace/.git/
From https://source.developers.google.com/p/project-id/r/github-test
* branch 5f9ac268123a3cfef5876034f2933eb83b34cd6d -> FETCH_HEAD
HEAD is now at 5f9ac26 v 1
BUILD …Run Code Online (Sandbox Code Playgroud) google-app-engine github google-cloud-platform google-container-registry
我有一个deployment.yaml含有部署3个容器+ LB服务和cloudbuild.yaml含步骤建集装箱图像每一次有新的承诺一定的分支上到位桶混帐回购协议。
一切正常,除了每当有新映像版本(我在部署中使用 :latest 标记)时我的部署都不会更新这一事实,为了改变这一点,我明白我的部署映像应该使用一些独特的东西,而不是 :latest,例如作为 git commit SHA。
问题: 我不确定如何在 GCB CI 过程中执行图像声明更新以包含新的提交 SHA。
YAML 的:https : //paste.ee/p/CsETr
google-cloud-platform kubernetes google-kubernetes-engine google-container-registry google-container-builder
API客户端库是否支持在Google容器引擎上创建和删除窗格和作业?
google-api-python-client google-kubernetes-engine google-container-registry
在 Google Cloud Container Builder 上,我们希望:
我们需要cloudbuild.yml为每个文件创建一个单独的文件吗?有没有更轻松的方法来做到这一点?
我们需要在 UI 中使用文件而不是触发器,因为构建需要 20 分钟,而 UI 触发器的超时时间为 10 分钟。
google-kubernetes-engine google-container-registry google-cloud-repository