개발/술Talk

window 환경 Docker - Kurento ( 도커 - 쿠렌토 ) 사용하기

황성안 2021. 8. 3. 23:15
728x90

윈도우 환경에서 Docker - Kurento ( 도커 - 쿠렌토 ) 사용하기

docker 와 우분투는 설치가 돼있어야합니다.

우분투 설치 : https://www.44bits.io/ko/post/wsl2-install-and-basic-usage

 

- 명령어는 윈도우탐색기에서 powershell을 검색해주시고

관리자 권한으로 실행시켜주신뒤 아래 명령어를 입력해줍니다.

 

1. The command 'docker' could not be found 에러

docker pull kurento/kurento-media-server:latest

입력 후에 에러가 떴다...

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

See https://docs.docker.com/docker-for-windows/wsl/ for details.

이 에러는 윈도우에서 docker 가 WSL 1로 아직 설정돼있어서 그렇다

powershell 을 관리자 권한으로 실행시켜 wsl --list --verbose를 입력하여 우분투의 WSL 버전을 확인해주자

NAME STATE VERSION

  • Ubuntu Running 1
    docker-desktop Running 2
    docker-desktop-data Running 2

현재 버전에 1로 나와있다면 WSL 2 로 변경시켜주어야한다.

해결법

powershell에 입력해주자 wsl --set-version Ubuntu 2

이렇게 진행된다면 Ubuntu 는 WSL2 버전으로 변경되게되고 docker가 정상 실행된다.

 

 

 

2. Got permission denied while trying... 에러

다시 우분투를 실행하여 docker pull kurento/kurento-media-server:latest 명령어를 수행시켜주자.

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=kurento%2Fkurento-media-server&tag=latest: dial unix /var/run/docker.sock: connect: permission denied

이라는 오류의 대처법은 무엇일까.

해결법

1.

sudo /usr/sbin/groupadd -f docker

sudo chown root:docker /var/run/docker.sock

를 입력해주게 된다면 성공적으로 Pull이 당겨집니다!

 

2.

참고 : https://stackoverflow.com/questions/48957195/how-to-fix-docker-got-permission-denied-issue

 

3.Docker에서 KMS(쿠렌토 미디어 서버) 실행

위에 까지 잘따라오셨다면 다음 명령어를 작성해봅니다.

docker run -d --name kms --network host\kurento/kurento-media-server:latest

host 다음 \의 앞에 띄어쓰면 실행이 안됩니다.

입력후에 긴 key 값이 출력됩니다. 이후 실행 상태를 확인하기위해 docker ps를 사용해보면 현재 running 하고있는 것을 확인 할수 있습니다.

이후, 쿠렌토의 TCP 8888번 포트와 UDP 포트범위[5000, 5050]를 연결해주는 과정이 필요합니다.

docker run --rm \-p 8888:8888/tcp \-p 5000-5050:5000-5050/udp \-e KMS_MIN_PORT=5000 \-e KMS_MAX_PORT=5050 \kurento/kurento-media-server:latest

와 같이 입력해주면 됩니다.

여기서 저는 응답 에러가 떴습니다.

해결법

docker 재시작... 끝! 해주면 잘되네요!

 

 

 

4. Client에서 요청 보내기

  1. 쿠렌토 자바 깃헙을 먼저 클론해야합니다

git clone https://github.com/Kurento/kurento-tutorial-java.git

클론을 한 뒤에 폴더를 들어가보면 여러 파일이 생성돼있습니다.

본인이 사용할 폴더( 사용 하고싶은 화상 종류 1:N, 1:1 등)을 선택해줍니다.

 

  1. kurneto-one2many-call 를 선택하여 사용하겠습니다.

cd kurento-tutorial-java/kurento-one2many-call로 폴더를 이동하고 브런치는 master를 사용하여 줍니다.  git checkout master

  1. 클라이언트 서버를 실행해보겠습니다.

 

  1. mvn -U clean spring-boot:run

여기서 주의할 점 maven 이 설치돼있어야합니다. 저의 경우 maven 을 따로 설치하였습니다.

https://maven.apache.org/download.cgi 접속 후

Binary zip archive apache-maven-3.8.1-bin.zip apache-maven-3.8.1-bin.zip.sha512 apache-maven-3.8.1-bin.zip.asc
       
2번째 `apache-maven-3.8.1-bin.zip` 다운로드

위 의 친구를 다운로드받아 압축 파일 해제 후 환경 변수를 추가해줬습니다.

( ex. C:\dev\apache-maven-3.8.1 를 환경변수에 추가시켜줍니다. 

 

 

 

 

이상 쿠렌토 - 도커 서비스 맛 보기를 끝내겠습니다..

만약 Kurento 에서 [ Error ] 가 뜨는 경우는 대부분 저는 도커에서 설정 문제로 인한 에러메세지가 떴었다면 아래를 확인해주세요..

  1. 도커를 재시작 하였는가?
  2. 도커가 서비스 중인가?
  3. 도커 > 쿠렌토 순으로 서버를 오픈하였는가?
  4. 도커폴더가 맞는가? ( 2many&one 등 원하는 폴더 안으로 들어가셔서 git bash 열어야함)

 

이를 어떻게 서비스할지 고민이 많이 필요할 것같습니다.. 우리팀 화이팅...

728x90