2016-10-26 15 views
6

Jestem nowym użytkownikiem Openshift Origin. Teraz próbuję możliwości rozmieszczenia moich kontenerów dokerów w źródle OpenShift. Dla że stworzył bardzo prosty pojemnik Döcker który dodaje dwie liczby i produkować wynik:Uruchamianie obrazu dokowanego w Openshift Początek

https://github.com/abrahamjaison01/openshifttest

stworzyłem obraz Döcker lokalnie i obraz Döcker publicznego w piaście Döcker:

docker pull abrahamjaison/openshifttest 

biegnę obraz Döcker lokalnie następująco:

[[email protected] /]# docker run -it --rm abrahamjaison/openshifttest 
Enter first large number 
12345 
Enter second large number 
54321 
Result of addition = 66666 

Odkąd jestem całkowicie nowy w Openshift, nie mam pojęcia, jak wdrożyć to w środowisku Openshift.

stworzyłem nowy projekt: oc new-project openshifttest

Następnie nowej aplikacji: oc new-app docker.io/abrahamjaison/openshifttest

Ale nie wiem, w jaki sposób mogę uzyskać dostęp do konsoli/terminala w celu zapewnienia wejścia. Również wiele razy, kiedy uruchamiam to, otrzymuję dane wyjściowe jako "nieudane wdrożenie", gdy wydaję polecenie "status oc".

Zasadniczo chciałbym wiedzieć, w jaki sposób mogę wdrożyć ten obraz doka w openshift i jak będę mógł uzyskać dostęp do terminala w celu zapewnienia danych wejściowych do wykonania dodawania.
Czy ktoś może mi w tym pomóc?

Odpowiedz

3

OpenShift służy głównie do długotrwałych usług, takich jak aplikacje internetowe i bazy danych. Nie jest tak naprawdę przeznaczone do uruchamiania kontenera Docker w celu zawijania polecenia, które następnie zwraca wynik do konsoli i kończy działanie.

Aby lepiej zrozumieć, w jaki sposób jest wykorzystywany OpenShift 3, pobrać i przeczytać darmowy ebook na:

Najbliższym dostaniesz to samo jak docker run jest oc run polecenie, ale to rodzaj pokonania całego punktu, dla którego jest OpenShift. Lepiej korzystaj z Dockera w swoim własnym systemie z tego, co opisujesz.

przypuszczenie na rozkaz by użyć, jeśli naprawdę chciał spróbować byłoby:

oc run test -i --tty --rm --image=abrahamjaison/openshifttest 

jak mówię choć naprawdę nie przeznaczone do tego. Ta oc run istnieje więcej do testowania w przypadku problemów z wdrażaniem aplikacji.

+0

Dzięki. To naprawdę pomogło mi wdrożyć mój obraz dokowania. Jednak wciąż mam wątpliwości co do 'oc new-app' i' oc run'. Czym się różnią? Moim przypadkiem użycia jest to, że mam obraz dokowany, który wymaga pewnych danych wejściowych podczas uruchamiania, a następnie na podstawie tych przekazanych parametrów, rozpocznie proces demona i podtrzyma. Ponieważ jestem całkowicie nowym użytkownikiem openshift, nie mogę odróżnić użycia 'oc new-app' od' oc run' oraz usług i pods. Również kiedy robię 'oc new-app', nie jestem w stanie uzyskać dostępu do terminala w celu dostarczenia danych wejściowych. 'oc run -i -tty' zapewnia mi interfejs do dostarczania danych wejściowych. –

+0

Jeśli chcesz podać dane wejściowe do aplikacji za pomocą '' oc new-app'', musisz przekazać je w zmiennych środowiskowych. Nie można przekazywać ich interaktywnie z wiersza poleceń za pomocą aplikacji, która je monituje, w momencie uruchamiania aplikacji. –

+0

Komenda '' oc new-app'' przeznaczona jest dla usług, takich jak aplikacje internetowe, które będą działały przez cały czas i które, jeśli z jakiegoś powodu zostaną zamknięte, muszą zostać ponownie uruchomione. Nie jest przeznaczony do zadań, które wymagają pewnych danych wejściowych i wykonania. Kubernetes ma koncepcję zadań do uruchomienia czegoś, co ma na celu wyjście, z którego można korzystać w OpenShift, ale aplikacja będzie musiała przesłać wyniki gdzieś lub przechowywać je w trwałym woluminie, aby można je było odzyskać. –

2

po "Creating an Application From an Image" część, składnia powinna być:

oc new-app abrahamjaison/openshifttest 

Domyślnie OpenShift będzie szukał obrazu w DockerHub.
Ale to przypuszcza, że ​​pchnął swój obraz GitHub tam pierwszy: patrz "Store images on Docker Hub". To może być brakujący krok w twoim procesie.

Interakcja z oc odbywa się za pomocą interfejsu OpenShift CLI lub konsoli internetowej, jak pokazano na stronie authentication page.

+0

Cóż, dziękuję, ale czy w ramach openshift, w jaki sposób będę mógł uzyskać dostęp do terminala, aby dostarczyć dane wejściowe? Podobnie jak przy uruchamianiu okna dokowanego, gdy można podać znacznik "-it" w poleceniu uruchomienia dockera, aby przenieść go do terminala. Ale w takim przypadku, w jaki sposób będę w stanie dostarczyć dane wejściowe dla funkcji kalkulatora? –

+0

@AbrahamJaison za pomocą interfejsu OpenShift CLI lub konsoli internetowej. Zobacz https://docs.openshift.org/latest/dev_guide/authentication.html – VonC

Powiązane problemy