Как запустить базовое изображение 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, где вы просто раскручиваете постоянные оболочки, к которым вы затем получаете доступ, чтобы настроить приложение вручную. Идея состоит в том, что вы создаете свое приложение в образ и развертываете приложение.
Я хотел бы предложить вам прочитать:
- https://www.openshift.com/promotions/for-developers.html
- https://www.openshift.com/promotions/devops-with-openshift.html
и выполнять упражнения в:
узнать больше о том, что такое OpenShift и как его использовать.