Как запустить базовое изображение Centos в минишифте?

Я пытаюсь узнать об Open Shift, как он работает, как запускать приложения, создавать образы и т. Д.

Чтобы начать с чего-то, что, как мне показалось, будет довольно простым, я решил запустить модуль с чистой ОС centos7, основанный на этом образе. Я установил локально minishift v1.11.0+4459917Я создал новый проект и выполнил команду: oc new-app openshift/base-centos7 в этом проекте. В результате я получил следующее сообщение:

--> Found Docker image bb81a09 (11 months old) from Docker Hub for "openshift/base-centos7"

    * An image stream will be created as "pon3:latest" that will track this image
    * This image will be deployed in deployment config "pon3"
    * The image does not expose any ports - if you want to load balance or send traffic to this component
      you will need to create a service with 'expose dc/pon3 --port=[port]' later
    * WARNING: Image "openshift/base-centos7" runs as the 'root' user which may not be permitted by your cluster administrator

--> Creating resources ...
    imagestream "pon3" created
    deploymentconfig "pon3" created
--> Success
    Run 'oc status' to view your app.

Как я вижу в предупреждении, это изображение работает как root, что явно не является хорошей практикой, но его можно обойти, как описано здесь и здесь. Я испробовал оба подхода - я создал новую учетную запись службы с anyuid SCC, и я назначил anyuid scc to default подлежит утверждению К сожалению, я до сих пор не могу запустить модуль на основе этого изображения. Результат выглядит так:

oc get pods

mycentos-1-deploy         1/1       Running            0          32s
mycentos-1-p1vh5          0/1       CrashLoopBackOff   1          30s

Я пытаюсь устранить неполадки таким образом:

oc logs -p mycentos-1-p1vh5

This image serves as the base image for all OpenShift v3 S2I builder images.
It provides all essential libraries and development tools needed to
successfully build and run an application.

To use this image as a base image, you need to have 's2i/bin' directory in the
same directory as your S2I image Dockerfile. This directory should contain S2I
scripts.

This base image also provides the default user you should use to run your
application. Your Dockerfile should include this instruction after you finish
installing software:

USER default

The default directory for installing your application sources is
'/opt/app-root/src' and the WORKDIR and HOME for the 'default' user is set
to this directory as well. In your S2I scripts, you don't have to use absolute
path, but rather rely on the relative path.

To learn more about S2I visit: https://github.com/openshift/source-to-image

Кроме того, я попытался устранить неполадки с oc adm diagnostics но, честно говоря, я не видел ничего, имеющего отношение к этому вопросу.

Я явно что-то здесь упускаю. Может кто-нибудь дать мне подсказку, как это должно быть обработано или как я могу попытаться устранить это? Есть ли другой способ запустить чистую ОС Centos?

Спасибо за любую помощь.

1 ответ

Вам нужно изображение, которое вы хотите развернуть, используя oc new-app иметь реальное применение в нем. openshift/base-centos7 Изображение - это базовое изображение, только на котором построены другие изображения, и в котором нет приложения.

Если вы просто хотите раскрутить контейнер и получить среду оболочки, в которой вы можете играть в oc run команда вместо

OpenShift не похож на традиционный VPS, где вы просто раскручиваете постоянные оболочки, к которым вы затем получаете доступ, чтобы настроить приложение вручную. Идея состоит в том, что вы создаете свое приложение в образ и развертываете приложение.

Я хотел бы предложить вам прочитать:

и выполнять упражнения в:

узнать больше о том, что такое OpenShift и как его использовать.

Другие вопросы по тегам