3

最近几天我一直在使用 Docker,并使用 Dockerfile 创建了一个基本的 Docker 映像。它只是启动一个网络服务器。现在,我一直在阅读并在 Google Application Engine 上创建了一个帐户,并希望将此映像部署到 Kubernetes。

我感到失落。

我不明白我在本地拥有的 Dockerfile 是如何转移到这个平台的?我根本不使用它们吗?我看过一些 Pod 配置示例,但据我所知,它们指的是 Docker Hub 上的图像?

有人可以为我指出正确的方向吗?

4

3 回答 3

1

我没有使用 Kubernetes,但据我所知,我认为您必须将容器上传到 docker 映像存储库。您可以使用官方中心并在那里上传您的图片(公共图片可以免费上传,您可以免费拥有一张私人图片或支付更多费用)。你也可以拥有一个私有的 docker 镜像仓库,并配置 kubernetes 来使用它。

正如我从这篇文章中了解到的,您可以运行将 Google Cloud 存储桶与本地运行的 docker 存储库链接,然后配置一个 kubernetes pod 以指向该存储桶,并且您的所有其余 pod 都可以从那里使用 docker 映像。

于 2014-12-13T12:30:22.850 回答
0

首先,我自己对此有点迷茫,尽管能够制作一个基本的 php 脚本工作示例,该脚本在 Container Engine 集群内的 Google Cloud Engine vm 实例上的 docker 映像中运行。文档更简单地说明的地方

Container Engine 集群是一组运行 Kubernetes ...

所以在回答这个问题

请参阅以下 GitHub 存储库https://github.com/CrandellWS/Kubernetes-Php-Example

有最少的文件和来源。您将在根目录中找到 Dockerfile,在 src 文件夹中找到单个 php 页面。

通过 docker 为此设置了一个自动构建,可以在https://registry.hub.docker.com/u/crandellws/kubernetes-php-example/找到

复制这将通过分叉 GitHub 存储库并设置您的自动构建来完成,请参阅:http ://docs.docker.com/docker-hub/builds/

完成此操作后,您可以将 docker 映像拉入 Kubernetes 设置并运行它。比如下面提到的 Dockerfile 显示:

sudo docker pull crandellws/kubernetes-php-example
sudo docker run -p 80:80 -it -d --name csupport crandellws/kubernetes-php-example

https://cloud.google.com/container-engine/docs/

于 2015-03-07T20:24:26.923 回答
0

要从 GKE 上的私有存储库中提取图像,我们需要创建一个 docker-registry 类型的密钥以进行身份​​验证。

kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

在您的 yaml 文件中包含 imagePullSecrets 标签,如下所示,您将能够从提到的存储库中提取图像。

apiVersion: v1
kind: Pod
metadata:
    name: pull-demo
spec:
    containers:
    - name: pull-demo-container
      image: nginx
    imagePullSecrets:
    - name: regsecret  
于 2019-01-30T07:20:00.593 回答