Как запустить образ docker, который я создал локально на Google Container Engine?
Как запустить приватные изображения докеров в Google Container Engine
Ответ 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