도커 컨테이너 스트리밍(?) 플랫폼 kasm 소개 및 desktop설치하기
안녕하세요. 달소입니다.
소나무 님께서 토렌트 사용경고를 주시면서 클리앙에서 보신거라고하셔서,, 궁금해서 들어갔다가 신선하게 보여서 공유해봅니다.
간단하게 말해서 도커로 격리환경의 컨테이너를 만들어서 여기서 브라우징 및 데스크탑환경에 대한 테스트나 이런저런 용도로 잘 쓸만할듯하네요
++ 본문에는 docker run 명령어로 설치가능한 desktop을 소개해드렸는데 workspace가 기능적으로 더 많은듯합니다.
이건 추후 다른글에서 작성해보도록하겠습니다.
KASM 이란?
Kasm Workspaces는 데스크톱, 애플리케이션 및 웹 서비스에 대한 브라우저 기반 액세스를 제공할 수 있는 도커 컨테이너 스트리밍 플랫폼입니다. Kasm은 CDI(Containerized Desktop Infrastructure) 기술을 통해 프로그래밍 방식으로 서비스를 제공하는 최신 DevOps 접근 방식을 사용하여 웹 브라우저를 통해 액세스할 수 있는 주문형 일회용 도커 컨테이너를 생성합니다. 그래픽 기반 컨테이너의 렌더링은 오픈 소스 프로젝트 KasmVNC 에 의해 구동됩니다.
라이브데모는 아래 링크에서 테스트 가능합니다.
https://www.kasmweb.com/demo.html?utm_campaign=Dockerhub&utm_source=docker
Docker로 kasm 사용하기
https://hub.docker.com/search?q=kasm
kasm 관련 이미지가 엄청많습니다만 저는 데스크탑만 테스트해봤습니다.
뭐든 직접 테스트해봐야 직성이 풀리기때문에 직접 개발용 우분투서버에 올려봤습니다.
sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/desktop:1.7.0-edge
- 사용자 :
kasm_user
- 비밀번호 :
password
위 기본 명령어를 사용해서 접근해보겠습니다.
접근은 위에서 오픈한 포트인 6901포트로 접속하시면됩니다.
pw는 컨테이너를 실행할때 사용하셨던 포트로하시면됩니다.
접근하면 아래처럼 novnc로 desktop형식이 나옵니다.
인터넷 속도측정도 해봤습니다.
서버포럼도 잘되고.. 속도도 꽤 준수하네요.
커널이 궁금해서 봤더니 우분투 18 기반이네요.
업로드/다운로드 폴더가있는걸로 보여서 볼륨매칭만 시켜주면 파일 업/다운도 쉽게될듯합니다.
이거 관심 있었는데 일에 치여서 못해보고 있었는데.. 감사합니다
desktop도 괜찮고 설치형인 workspace도 좋아보입니다 ㅎㅎ
workspace는 내일해봐야겠네요
오...드래곤볼 후 할 것이 또 추가 되었네요. ㅎㅎ
감사합니다!
나중에 개발 시스템에 활용할수 있겠네요
재미있는 프로젝트같습니다 ㅎ
한글이 아무리 해도 안되네요.. 시스템 시간 변경도 안되고 ...ㅠㅠ
초보에겐 어렵네요
kasm 한글화 방법은 다음과 같습니다.
먼저 호스트의 터미널을 킵니다. (그냥 ssh 접속하시면 됩니다.) 그리고 다음의 명령어들을 입력해줍니다. (컨테이너에 root로 접속하는 방법입니다.)
docker exec -i -t --user root {컨테이너} bash
apt-get update&&apt-get install sudo -y&&apt-get upgrade -y
sudo passwd root
#root 비밀번호 설정. 이후에는 쉽게 root로 진입 가능합니다.
이후 web에서 kasm에 접속합니다.
su
#su 명령어를 치시고 root 비밀번호를 입력하시면 됩니다. 이후부터 본격적으로 한글화를 시작합니다.
#먼저 한글을 읽을 수 있게 해주고 ibus도 같이 설치해줍니다.
sudo apt-get install ibus ibus-hangul fonts-nanum* -y
# 그리고 ibus 라는 것을 작동시켜야 합니다.
vim $HOME/.bashrc
#다음의 내용을 맨 아래에 넣으시고 vim을 빠져나오시면 됩니다.
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
#vim 저장 후 나오시면 됩니다.
#setting에서 IBus Preferences라는 것이 생겼을 것입니다.(아까 설치완료) Input Method에서 hangul 추가해주시고 General에서 Keyboard Shortcut을 수정해주시면 됩니다. 초기설정은 win+space이실텐데 아마 shift+space 조합이 좀 더 쉬우실 겁니다.
#이후 네이버 검색창에서 shift+enter 누르시고 한/영키 누르시고 해보시면 한글 입력이 되실겁니다.
오오 완전상세한 가이드감사합니다
본문에 댓글참조 내용을추가해야겠네요ㅎㅎ
감사합니다~!!
이렇게 오래된 글의 댓글도 보시려나 ? ^^
위 docker_run 커맨드로 실행하고
https://192.168.1.xxx:6901 로 접속하면 "주의요함" 경고는 뜨지만 실행은 잘 됩니다.
이걸 npm 에 등록하고 실행하면 로그인 화면에서 넘어가지를 않네요.
npm 에서 추가 설정이 필요할까요 ?
npm을 통해서 외부 접속이 되지 않으면 별로 쓸모가 없는데... ^^
인증서떄문에 주의요함은 뜨겠지만 사실 사용하는데는 문제가없습니다.
kasm을 http로 띄우고 npm으로 프록시하는게 가장좋은데 http로 되는지는 확인이필요할것같네요
kasm 은 로컬에서도 http 접속은 안되고요.
npm 세팅은 아래처럼 되어있습니다.
인증서는 와일드카드 인증서, 개별인증서 다 해보았는데 동일하게 접속하면
로그인 창이 뜨고, 패스워드 입력해도 이 로그인창만 무한 반복됩니다. ㅎㅎ
이 인증서라는 것에 대해 제가 영 감이 없는데, "주의요함" 상태로 사용하는 것은 문제가 있나요 ?
Docker in docker 로 내 docker 더럽히지않고 vnc지만 vnc아닌 자체 vnc web으로 속도도 빠르네요
한글입력도 무슨짓을한건지 로컬 ime 먹고 좋습니다
급할때 로컬피씨 remmina로 접속하는데 아주만족중입니다
근데 vnc 포트가없어서 reverse proxy 못쓰고 docker 포트열어주는건 아쉽네요
cmt alert