윈도우 환경에서 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에서 요청 보내기
- 쿠렌토 자바 깃헙을 먼저 클론해야합니다
git clone https://github.com/Kurento/kurento-tutorial-java.git
클론을 한 뒤에 폴더를 들어가보면 여러 파일이 생성돼있습니다.
본인이 사용할 폴더( 사용 하고싶은 화상 종류 1:N, 1:1 등)을 선택해줍니다.
- kurneto-one2many-call 를 선택하여 사용하겠습니다.
cd kurento-tutorial-java/kurento-one2many-call
로 폴더를 이동하고 브런치는 master
를 사용하여 줍니다. git checkout master
- 클라이언트 서버를 실행해보겠습니다.
mvn -U clean spring-boot:run
여기서 주의할 점 maven 이 설치돼있어야합니다. 저의 경우 maven 을 따로 설치하였습니다.
https://maven.apache.org/download.cgi 접속 후
2번째 `apache-maven-3.8.1-bin.zip` 다운로드
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
위 의 친구를 다운로드받아 압축 파일 해제 후 환경 변수를 추가해줬습니다.
( ex. C:\dev\apache-maven-3.8.1 를 환경변수에 추가시켜줍니다.
이상 쿠렌토 - 도커 서비스 맛 보기를 끝내겠습니다..
만약 Kurento 에서 [ Error ] 가 뜨는 경우는 대부분 저는 도커에서 설정 문제로 인한 에러메세지가 떴었다면 아래를 확인해주세요..
- 도커를 재시작 하였는가?
- 도커가 서비스 중인가?
- 도커 > 쿠렌토 순으로 서버를 오픈하였는가?
- 도커폴더가 맞는가? ( 2many&one 등 원하는 폴더 안으로 들어가셔서 git bash 열어야함)
이를 어떻게 서비스할지 고민이 많이 필요할 것같습니다.. 우리팀 화이팅...
'개발 > 술Talk' 카테고리의 다른 글
[Spring & Maria DB] 회원 정보 수정, 회원 정보 리스트 받아오기 (0) | 2021.08.18 |
---|---|
[Spring & Maria DB] Restful API 게시판 CRUD (0) | 2021.08.12 |
[ BE - JS ] 로그인, 회원가입, 로그아웃 구현 (0) | 2021.08.02 |
[ BE - JS ]JWT ( Security ) (0) | 2021.07.26 |
[ 술 Talk ] - 프로젝트 1주차 진행 내용 (0) | 2021.07.16 |