Доступны ли файлы Dockerfile для примеров образов Google в реестре контейнеров Google?

Я использую официальную стабильную диаграмму ZooKeeper Helm для Kubernetes: ">который извлекает образ ZooKeeper Docker из примеров образов Google в Google Container Registry.

Этот образ ZooKeeper доступен здесь, однако я не могу найти никаких ссылок на Dockerfile о том, как он построен или сгенерирован ли его Dockerfile из какого-либо другого представления (например, через Bazel). Я хотел бы знать информацию о том, что еще установлено на образе, на какой ОС он основан и т. д.

Как правило, доступны ли файлы Dockerfile для примеров изображений Google, размещенных в GCR?

В частности, для образа ZooKeeper я хотел бы определить, как он сравнивается с образом ZooKeeper от Confluent.: это похоже? Есть ли в нем что-то дополнительное для запуска ZooKeeper поверх Kubernetes? и т.д

До сих пор я довольно много гуглил, читал документы Google Container Registry, покопался в организации Google на GitHub и выполнил поиск Stack Overflow, но не смог найти эту информацию.


person Taylor Edmiston    schedule 22.03.2018    source источник


Ответы (2)


Пожалуйста, не используйте изображения из gcr.io/google-samples для производства.

Эти образы используются исключительно для руководств по GKE на cloud.google.com, и они не поддерживаются активно, в том смысле, что мы не перестраиваем их из-за уязвимостей безопасности для компонентов на изображениях и т. д.

Исходные коды некоторых изображений находятся по адресу https://github.com/GoogleCloudPlatform/kubernetes-engine-samples/.

person Ahmet Alp Balkan    schedule 29.03.2018
comment
Спасибо, Ахмет. Есть ли шанс, что мы сможем добавить ваш комментарий в документы GCR, чтобы он был предельно понятен для других? - person Taylor Edmiston; 29.03.2018
comment
Это не имеет никакого отношения к ГКР. Таким образом, мы не можем добавить его в документацию продукта. - person Ahmet Alp Balkan; 30.03.2018
comment
Спасибо за ответ. С точки зрения пользователя Kubernetes/GKE/k8s в GCE меня смущает, что Google предоставляет образы Docker для Kubernetes в руководствах по GCP, но не предоставляет никакой информации об их использовании/неиспользовании. То, что вы упомянули здесь, сегодня нигде не встречается в документах GCP. - person Taylor Edmiston; 30.03.2018
comment
Я согласен с вашим утверждением. Ошибка здесь в чате Helm. Я открою вопрос, чтобы они переместили изображение. github.com/kubernetes/charts/issues/4540 - person Ahmet Alp Balkan; 30.03.2018

Чтобы увидеть разницу между изображениями, я бы не стал доверять Dockerfile. Невозможно гарантировать, что данный образ был создан с помощью данного Dockerfile, поскольку они не воспроизводимы.

Вы смотрели container-diff?

$ container-diff diff confluentinc/cp-zookeeper gcr.io/google-samples/k8szk:v2

Если вам нужно что-то более легкое (и вы доверяете производителю образа), вы можете почерпнуть некоторую информацию из файла конфигурации "history", в котором есть записи, которые примерно соответствуют исходному файлу Dockerfile.

Для gcr.io/google-samples/k8szk:v2 вы можете сделать следующее:

$ curl -L https://gcr.io/v2/google-samples/k8szk/blobs/sha256:2fd25e05d6e2046dc454f57e444214756b3ae459909d27d40a70258c98161737 | jq .

(Это просто загружает большой двоичный объект конфигурации. Вы можете найти дайджест конфигурации в файле манифеста.)

Для изображений, созданных bazelbuild/rules_docker, для каждой записи будет просто "bazel build..." , что не очень полезно для вас :)

Если вы хотите найти базовое изображение, я добился удивительного успеха, просто погуглив дайджест sha256 первой записи в файле "layers" манифеста.

В частности, изображение смотрителя зоопарка может быть основано на ubuntu:xenial-20161213.

person jonjohnson    schedule 22.03.2018
comment
Благодарю вас! Мне нужно проверить container-diff, так как это выглядит интересно. Это определенно альтернатива, если выяснится, что они не разделяют Dockerfiles. Что касается доверия к производителю изображений, я бы очень хотел иметь возможность проверять/изменять/создавать/развертывать образы самостоятельно, поэтому я ищу источник изображений. - person Taylor Edmiston; 23.03.2018