Импорт образов Docker из публичного реестра в OpenShift

Я пытаюсь развернуть образ Ubuntu из здесь в OpenShift Online. (Следующее поколение). Это шаги, которые я выполнил при этом

$ oc new-project test
$ oc new-app jedisct1/phusion-baseimage-latest

I then deployed from the WebConsole

Однако я получаю неудачное развертывание и статус ошибки «изображение отключено» на странице модуля. Что-то конкретное, что я могу делать неправильно?

Ниже приведены логи всего процесса.

root@home:~# oc new-project test
Now using project "test" on server "https://api.preview.openshift.com:443".

You can add applications to this project with the 'new-app' command. For example, try:

    $ oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-hello-world.git

to build a new hello-world application in Ruby.

root@home:~# oc new-app jedisct1/phusion-baseimage-latest
--> Found Docker image 7ff0885 (14 hours old) from Docker Hub for "jedisct1/phusion-baseimage-latest"

    * An image stream will be created as "phusion-baseimage-latest:latest" that will track this image
    * This image will be deployed in deployment config "phusion-baseimage-latest"
    * 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/phusion-baseimage-latest --port=[port]' later
    * WARNING: Image "phusion-baseimage-latest" runs as the 'root' user which may not be permitted by your cluster administrator

--> Creating resources with label app=phusion-baseimage-latest ...
    imagestream "phusion-baseimage-latest" created
    deploymentconfig "phusion-baseimage-latest" created
--> Success
    Run 'oc status' to view your app.

root@home:~# oc status
In project test on server https://api.preview.openshift.com:443

dc/phusion-baseimage-latest deploys istag/phusion-baseimage-latest:latest
  deployment #1 pending on image or update

1 warning identified, use 'oc status -v' to see details.

root@home:~# oc status -v
In project test on server https://api.preview.openshift.com:443

dc/phusion-baseimage-latest deploys istag/phusion-baseimage-latest:latest
  deployment #1 pending on image or update

Warnings:
  * dc/phusion-baseimage-latest has no readiness probe to verify pods are ready to accept traffic or ensure deployment is successful.
    try: oc set probe dc/phusion-baseimage-latest --readiness ...

View details with 'oc describe <resource>/<name>' or list everything with 'oc get all'.

root@home:~# oc status -v
In project test on server https://api.preview.openshift.com:443

dc/phusion-baseimage-latest deploys istag/phusion-baseimage-latest:latest
  deployment #2 running for 2 minutes - 1 pod

person Mohamed Sohail    schedule 19.07.2016    source источник
comment
Вы можете сделать docker pull jedisct1/phusion-baseimage-latest?   -  person Álvaro Pérez Soria    schedule 19.07.2016
comment
Нет, не совсем. но я хочу обойти все, что связано с докером   -  person Mohamed Sohail    schedule 20.07.2016
comment
Видите ли вы манифест неизвестного в событиях вашей веб-консоли? Я читал об «ошибке» с извлечением образов, которые не созданы с помощью докера версии 1.9 или выше (я могу получить образ в докере).   -  person lvthillo    schedule 20.07.2016
comment
Да, я просто спросил, потому что если вы не можете вытащить образ с помощью команды docker на том же хосте, где работает openshift, это означает, что ни один openshift не сможет его вытащить. У вас есть какие-либо настройки прокси?   -  person Álvaro Pérez Soria    schedule 20.07.2016
comment
Просто чтобы прояснить ситуацию, это OpenShift Online (следующее поколение).   -  person Mohamed Sohail    schedule 20.07.2016
comment
Да OpenShift успешно загружает образ. И дайджест (pull spec) отображается на веб-консоли. Затем я пытаюсь развернуть его, но он просто терпит неудачу из-за тайм-аута. Я пытался развернуть четыре раза, все безуспешно.   -  person Mohamed Sohail    schedule 20.07.2016


Ответы (2)


Я попытался загрузить то же изображение в Openshift онлайн и обнаружил «явную неизвестную ошибку».

введите здесь описание изображения

Это проблема совместимости с DockerHub, как утверждает Клейтон в этом ответе.

Ошибка API (500): манифест неизвестен: манифест неизвестен

person Álvaro Pérez Soria    schedule 21.07.2016
comment
Вы успешно подключили какой-либо другой образ Ubuntu? - person Mohamed Sohail; 22.07.2016

1. using Docker < 1.10 pull the image

2. tag it either as

     docker.io/<yourname>/imagename

     or

     ${INTERNAL_DOCKER_REGISTRY_IP}/openshift/imagename

3. push it using the same tag

4. deploy from that

Используя docker ‹ 1.10, вы можете быть уверены, что отправленный образ будет иметь схему v1, которую можно импортировать как в текущей версии реестра, так и в docker 1.9.

Извлечение образов не проблема, потому что концентратор Docker на лету преобразует их в схему v1, которая имеет другой дайджест, чем тот, что находится на концентраторе. Поэтому, если вы попытаетесь извлечь данные, используя этот дайджест, у вас ничего не получится, потому что он не хранится на хабе. Таким образом, развертыватель потерпит неудачу, потому что докеру не удастся получить данный дайджест.

По сути, вы можете отправить его куда угодно, если используете докер ‹ 1.10, поэтому вы можете быть уверены, что результирующий манифест образа будет иметь схему v1 — такой манифест может безопасно использоваться OpenShift и докером любой версии.

Альтернативный подход

Вы также можете отправить его в OpenShift Online с любой версией докера. Поскольку в реестре OpenShift хранится только схема v1. Затем обратитесь к отправленному образу вместо исходного источника в Docker Hub.

person Mohamed Sohail    schedule 11.08.2016