기본 콘텐츠로 건너뛰기

Create Custom Stack in Eclipse Che

커스텀 Image Stack 만들기

Eclipse Che 에서는 Docker Container 기반의 Workspace를 제공한다.

개발환경을 좀더 손 쉽게 만들어주는데 일반적인 Java, Python, Node js 등 다양한 언어들의 기본 개발 환경이 eclipse che 기본 stack 으로 구성되어 있다.

하지만 더 나아가 기본 개발환경에서 추가적으로 라이브러리를 설치하고 사용하려고 할때를 위해 Custom Stack 을 제공한다.

하지만 Eclipse che 에서 실행 될수 있는 Docker image를 만들기 쉽지 않기 때문에 저는 기존에 있는 Stack 을 생성하고 생성된 Container에 앞으로 사용할 라이브러리를 설치하고 해당 Container를 이미지화 시키는 것으로 Custom Stack 을 만드려 한다.

아래의 내용을 잘 따라 하면 Custom Stack 을 쉽게 만들수 있을 것이다.

1. Custom 하기 위한 언어의 기본 베이스 스택을 선택 (Workspace 만들기)

Python에 Tensorflow를 설치하기 위해 Python stack 을 선택후 Workspace를 생성 했다.


2. 생성한 Workspace의 Open IDE 환경 Terminal에서 라이브러리 설치

Python 라이브러리 설치

제대로 설치 됐는지 확인을 해볼 필요가 있다.

3. Docker Image 만들고 Repository에 등록

Eclipse Che 가 설치된 Local Docker repository 나 Public Docker hub 를 사용한다

Public Docker hub 를 이용하기 위해 Docker 에 로그인 한다
$ docker login

서버에 접속하여 image 만들 컨테이너를 선택한다 
$ docker ps -a

{container_id}에 docker ps 에서 본 이미지를 id를 넣어 이미지화 시킨다
$ docker commit -m "initial commit" -a "limdh3325" {container_id} limdh3325/dev:latest

 docker commit 작업이 끝나면 이미지가 새로 추가 된것을 확인 할수 있다 

$ docker images


 이미지가 새로 추가 된것을 확인 후 위에서 작성했던 이미지 이름으로 push

$ docker push limdh3325/dev:latest



4. Custom Stack 생성

Custom Stack 을 생성하기에 앞서 모티브가 됐던 기존 Stack의 Config를 가져와야 에러가 나지 않는다.



기존의 스택의 옆에 Duplicate Stack 을 클릭하여 똑같은 Stack 을 만들고 copy한 stack을 들어가 이름을 바꾸고 Machines 항목에서 Source를 Repository에 저장했던 limdh3325/dev:latest으로 바꾸어 저장해주면 하나의 Custom Stack이 생성이 된다













댓글

이 블로그의 인기 게시물

Message Queue 란 무엇인가

Message Queue 란 무엇인가?? 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미 MOM을 구현한 시스템을 메시지 큐(MessageQueue: MQ)라 함 Producer(sender) 가 메시지를 큐에 전송하면 Consumer(receiver) 가 처리하는 방식으로, producer 와 consumer 에 message 프로세스가 추가되는 것이 특징 메시지 큐의 장점 비동기(Asynchronous): Queue에 넣기 때문에 나중에 처리할 수 있습니다. 비동조(Decoupling): 애츨리케이션과 분리할 수 있습니다. 탄력성(Resilience): 일부가 실패 시 전체에 영향을 받지 않습니다. 과잉(Redundancy): 실패할 경우 재실행 가능합니다. 보증(Guarantees): 작업이 처리된걸 확인할 수 있습니다. 확장성(Scalable): 다수의 프로세스들이 큐에 메시지를 보낼 수 있습니다. 메시지 큐 종류 Apache ActiveMQ, Apache Kafka, Apache Qpid, Apache RocketMQ, Beanstalkd, Enduro/X, HTTPSQS, JBoss Messaging, JORAM, RabbitMQ, Sun Open Message Queue, and Tarantool 등 Apache ActiveMQ Java Message Service (JMS)를 사용하는 오픈소스 MQ Java, C, C ++, C #, Ruby, Perl, Python, PHP 등 다양한 크로스 언어 클라이언트 및 프로토콜 지원 Spring 지원으로 Spring xml config 메커니즘 이용 가능 JDBC 지원으로 DB 높은 퍼포먼스 가능 높은 퍼포먼스를 위해 클러스터링 구성 가능 Restful API 제공 단 모니터링 도구제공하지 않음 ...