2016-10-26 3 views
6

저는 Openshift Origin이 처음입니다. 이제 OpenShift 출발점에 도커 컨테이너를 배포 할 가능성을 시험 중입니다. 이를 위해 나는 두 숫자를 추가하는 매우 간단한 고정 표시기 컨테이너를 작성하고 그 결과 생성 : I는 로컬 고정 표시기 화상을 생성Openshift Origin에서 도커 이미지 실행

https://github.com/abrahamjaison01/openshifttest

및 고정 표시기 허브에서 공공 고정 표시기 이미지 :

을 다음과 같이
docker pull abrahamjaison/openshifttest 

나는 로컬 고정 표시기 이미지를 실행

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

저는 Openshift에 완전히 익숙하지 않았으므로, Openshift 환경에서 이것을 어떻게 배치 할 것인지 잘 모릅니다. 그리고 새로운 응용 프로그램 oc new-project openshifttest

:

나는 새 프로젝트 생성 oc new-app docker.io/abrahamjaison/openshifttest

를하지만 내가 입력을 제공하는 콘솔/터미널 액세스 할 수있는 방법을 모르겠어요. 또한 이것을 실행할 때 "oc status"명령을 실행하면 출력이 "배치 실패"로 표시되는 경우가 많습니다.

기본적으로 opensshift에서이 도커 이미지를 배포 할 수있는 방법과 추가 수행을위한 입력을 제공하기 위해 터미널에 액세스하는 방법을 알고 싶습니다.
누군가 나를 도와 줄 수 있습니까? 은 "Creating an Application From an Image"부분을 다음

답변

3

OpenShift는 주로 웹 응용 프로그램 및 데이터베이스와 같이 장시간 실행되는 서비스 용입니다. Docker 컨테이너를 실행하여 명령을 래핑 한 다음 결과를 콘솔로 반환하고 종료하는 것은 아닙니다.

가장 가까운 당신이 docker run으로 동일한 작업을 수행하기 위해 얻을 것이다이 있습니다 :

는 더 OpenShift 3 사용 방법, 다운로드의 이해에 무료로 전자 책을 읽을 얻으려면 oc run 명령이지만, OpenShift가 무엇을 가리키고 있는지에 대해 일종의 패배가 있습니다. 자신이 사용하는 시스템에서 Docker를 사용하여 설명하는 내용을 사용하는 것이 좋습니다.

정말 될 것 원했고 경우 사용하는 것이 명령에서의 추측 :

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

그래도 난 정말이 일을하기위한 것이 아닙니다 말하는 것처럼. 그 oc run 존재하는 응용 프로그램에 대한 배포 문제가있을 때 테스트 용입니다.

+0

감사합니다. 실제로 도커 이미지를 배포하는 데 도움이되었습니다. 그러나, 나는 아직도'oc new-app'와'oc run'에 대해 의문의 여지가 있습니다. 그들은 어떻게 다른가요? 나의 유스 케이스는 시작하는 동안 몇 가지 입력을 필요로하는 도커 이미지를 가지고 있고 그런 다음 전달 된 매개 변수를 기반으로 데몬 프로세스를 시작하고 유지합니다. 필자는 오픈 시프트에 완전히 익숙하지 않았기 때문에 '새로운 앱'과 '운영되는'서비스 및 포드를 구분할 수 없습니다. 또한'oc new-app'을 할 때 입력을 제공하기 위해 터미널 액세스 권한을 얻을 수 없습니다. 'oc run -i -tty'는 입력을 제공하는 인터페이스를 제공합니다. –

+0

응용 프로그램에 입력을''oc new-app''로 제공하려면 환경 변수에 전달해야합니다. 응용 프로그램이 시작될 때 응용 프로그램을 통해 명령 행에서 대화식으로 전달할 수 없습니다. –

+0

''oc new-app'' 명령은 항상 실행되는 웹 응용 프로그램과 같은 서비스를 대상으로하며 어떤 이유로 종료 될 경우 다시 시작해야합니다. 입력을 받아 실행이 완료되는 작업에는 적합하지 않습니다. Kubernetes는 OpenShift에서 사용할 수있는 무언가를 실행하기위한 작업 개념을 가지고 있지만 응용 프로그램은 결과를 어딘가에 업로드하거나 영구 볼륨에 저장하여 검색 할 수 있어야합니다. –

2

, 구문은 다음과 같아야합니다 기본적으로

oc new-app abrahamjaison/openshifttest 

는, OpenShift는 DockerHub의 이미지를 찾습니다.
그러나 여기에 GitHub 이미지를 밀어 넣었다 고 가정하면 먼저 : "Store images on Docker Hub"을 참조하십시오. 그것은 귀하의 프로세스에서 누락 된 단계 일 수 있습니다.

oc과의 상호 작용은 authentication page과 같이 OpenShift CLI 또는 웹 콘솔을 통해 수행됩니다.

+0

감사합니다.하지만 opensshift 내에서 입력을 제공하기 위해 터미널에 어떻게 액세스 할 수 있습니까? 도커를 실행할 때와 마찬가지로 도커 실행 명령에 "-it"태그를 제공하여 터미널에 가져올 수 있습니다. 그러나이 경우 계산기 기능에 대한 입력을 어떻게 제공 할 수 있습니까? –

+0

@AbrahamJaison OpenShift CLI 또는 웹 콘솔을 사용합니다. 고맙습니다. https://docs.openshift.org/latest/dev_guide/authentication.html – VonC