38

如何运行我在Google Container Engine上本地构建的 docker 映像?

4

4 回答 4

47

您可以将您的图像推送到Google Container Registry并从您的 pod 清单中引用它们。

详细说明

假设您已DOCKER_HOST正确设置,运行最新版本的 Kubernetes 和Google Cloud SDK的 GKE 集群已安装。

  1. 设置一些环境变量

    gcloud components update kubectl
    gcloud config set project <your-project>
    gcloud config set compute/zone <your-cluster-zone>
    gcloud config set container/cluster <your-cluster-name>
    gcloud container clusters get-credentials <your-cluster-name>
    
  2. 标记您的图像

    docker tag <your-image> gcr.io/<your-project>/<your-image>
    
  3. 推送你的图片

    gcloud docker push gcr.io/<your-project>/<your-image>
    
  4. 为您的容器创建一个 pod 清单:my-pod.yaml

    id: my-pod
    kind: Pod
    apiVersion: v1
    desiredState:
      manifest:
        containers:
        - name: <container-name>
          image: gcr.io/<your-project>/<your-image>
        ...
    
  5. 安排这个 pod

    kubectl create -f my-pod.yaml
    
  6. 对您要运行的每个 pod 从步骤 (4) 重复。---您可以使用带有分隔符的行在单个文件中拥有多个定义。

于 2014-11-06T20:20:08.937 回答
1

我使用的设置是部署我自己的 docker 注册表并结合 ssh 端口转发。为此,我在集群中设置了一个 ssh 服务器,并使用它~/.ssh/config来配置转发到注册表的端口。

我还使用 jenkins 在云中构建图像。

于 2017-02-24T06:13:52.947 回答
1

第 1 步:指定您必须在其中工作的容器

gcloud container clusters get-credentials [$cluster_name]

第 2 步:标记要运行的 docker 映像

docker tag nginx gcr.io/first-project/nginx

第三步:推送图片

gcloud docker push gcr.io/first-project/nginx

Step4:创建yaml文件(test.yaml)

apiVersion: v1
kind: Pod
containers:
- name : nginx1
  image: gcr.io/first-project/nginx

第 5 步:创建 pod

kubectl create –f test.yaml
于 2019-02-05T11:11:21.883 回答
0

您可以在启动 pod 之前将私有 docker 注册表的注册表身份验证密钥复制到 minions 根目录中的 .dockercfg 文件中。或者在开始之前在 minions 上运行 docker login。

    docker login --username=<> --password=<> --email=<> <DockerServer>

然后,在 pod 配置中引用私有 docker 映像应该可以按预期工作。

于 2015-02-27T14:26:36.730 回答