Подтвердить что ты не робот

Как запустить приватные изображения докеров в Google Container Engine

Как запустить образ docker, который я создал локально на Google Container Engine?

4b9b3361

Ответ 1

Вы можете подтолкнуть свое изображение к Google Container Registry и ссылаться на них из своего манифеста pod.

Подробные инструкции

Предполагая, что у вас есть правильная настройка DOCKER_HOST, установлен кластер GKE, на котором установлена ​​последняя версия Kubernetes и Google Cloud SDK.

  • Настройка некоторых переменных среды

    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>
    
  • Отметьте свое изображение

    docker tag <your-image> gcr.io/<your-project>/<your-image>
    
  • Нажмите свое изображение

    gcloud docker push gcr.io/<your-project>/<your-image>
    
  • Создайте манифест контейнера для вашего контейнера: my-pod.yaml

    id: my-pod
    kind: Pod
    apiVersion: v1
    desiredState:
      manifest:
        containers:
        - name: <container-name>
          image: gcr.io/<your-project>/<your-image>
        ...
    
  • Запланируйте этот pod

    kubectl create -f my-pod.yaml
    
  • Повторите шаг (4) для каждого модуля, который вы хотите запустить. Вы можете иметь несколько определений в одном файле, используя строку с --- как разделитель.

Ответ 2

Вы можете скопировать ключ проверки подлинности реестра вашего приватного реестра докеров в файл .dockercfg в корневом каталоге миньонов прямо перед запуском модулей. Или запустите вход в докер для миньонов перед запуском.

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

Обращаясь к личным изображениям докеров в конфигурации модуля, он должен работать как ожидалось.

Ответ 3

Настройка, которую я использую, это развернуть мой собственный реестр docker в сочетании с пересылкой портов ssh. Для этой цели я настроил ssh-сервер в кластере и использовал ~/.ssh/config, чтобы настроить перенос порта в реестр.

Также я использую jenkins для создания изображений прямо в облаке.

Ответ 4

Шаг 1: Укажите контейнер, в котором вы должны работать

gcloud container clusters get-credentials [$cluster_name]

Шаг 2: пометьте образ докера, который вы хотите запустить

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

Шаг 3: Нажмите на изображение

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

Шаг 4: Создать файл yaml (test.yaml)

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

Шаг 5: Создайте модуль

kubectl create –f test.yaml