도커 컨테이너 기반으로 Redis를 설치해보겠다.
https://hub.docker.com/_/redis
도커 허브는 모든 사용자들이 public하게 업로드 가능하기 때문에 비슷한것들이 많다.
위 링크처럼 Official Image가 붙어있는지 꼭 확인하자!
도커 기반으로 레디스를 설치하려고 했지만,,, 예전에 하던 작업이 있어서 레디스가 이미 깔려있다.
https://velog.io/@jinyngg/Redis-%EC%9C%88%EB%8F%84%EC%9A%B0-Redis-%EC%84%A4%EC%B9%98
나는 공식문서에서 다운받았는데, 윈도우 환경에서 설치가 되지 않아 당황했던 기억이있다.
위글에서 설치하는 방법을 잘 알려줘서 가져왔다. WSL(Linux용 Windows 하위 시스템) 이 있어야 설치할수 있다고 한다.
도커 컨테이너 기반으로 Redis를 까는 것이 이 글의 목적이므로 따로 한번 깔아보겠다.
전제조건
- WSL이 깔려있어야함
- 본인의 경우, 우분투(OS)도 깔려있어야함
- 본인의 경우, 윈도우(자신의 PC OS)버전 Docker가 깔려있어야함
https://docs.docker.com/desktop/install/windows-install/
운영체제가 윈도우10 이상의 버전라면 위의 링크로 들어가서 간단하게 다운 받을 수있다.
Installer가 설치되면 실행시켜서 설치를 진행한다.
시간이 좀 걸린다,,,
설치가 다되면 완료화면이 뜬다.
그리고 재시작을 해줘야 제대로 설치가 끝난다!
PC가 재부팅 되었으면, 바로가기나 실행파일을 찾아서 실행하면된다.
근데 갑자기
뭐지 이 에러는 ,,,,
조사해보니, window 기능 중, 가상머신플랫폼 활성화가 꺼져있어서 그렇다고 한다.
그럼 제어판에 들어가서 window기능 켜기/끄기에서 활성화 시켜주자
뭐지,,,,진짜
.NET Framework 3.5 설치 오류 - Windows Client | Microsoft Learn
알아보니, 윈도우 버전을 업데이트 했을때 발생하는 오류라고한다.
에러코드를 보고, 뭐가 잘못되었는지 찾아봤다. 위 링크로 들어가면 자세히 방법을 알려준다.
윈도우 설치 폴더안에 WinSxS폴더 속성을 들어간다. 여기서 읽기 및 실행 옆에 확인 표시가 없으면 확인으로 바꿔라고 하는데 본인은 이미 확인 되어있어서 넘어간다.
다음으로는 cmd(관리자모드) 로 들어가서 다음 명령어를 입력한다.
dism /online /enable-feature /featurename:netfx3 /all /source:c:\sxs /limitaccess
다음으로 명령어를 또 입력하고 엔터를 누른다.
dism /online /Cleanup-Image /RestoreHealth
재부팅을 하니 30분정도 업데이트가 진행되었다.
그리고 난뒤 다시 명령어를 입력해보니
이건 성공을 했지만 진짜 계속해서 실행이 되지 않았다.
진짜 말 그대로 하루종일 삽질을 했다. 바이오스를 살펴봐도 가상화가 켜져있고 다른 이상한점이 없었다.
결국 얻어낸것은
윈도우 업데이트에 문제가 있던 것이다.
+) 추가
이틀정도 윈도우 업데이트 설정에 대해서 알아보다가 안되겠다 싶어서 그냥 윈도우자체를 새로 깔았다,,,
하,,,,, 드디어 성공했다,,,,,,,,,,,,
이제 Redis설치를 해보자!
본론이 Redis설치인데 너무 개고생을 한것같다,,,,
Redis 설치
이제 본격적으로 Redis를 설치해보자!
터미널을 열고 다음 명령어를 입력한다.
docker pull redis:6.2
다음 명령어로 설치에 대한 정보를 알 수있다.
docker images
docker run --rm -it redis:6.2
- -rm : 도커를 죽였을때, 컨테이너 리소스를 정리해라
docker run 명령어로 레디스를 실행시켰다.
잘 실행 된것같이 보이지만 조금만 생각해보면 문제점이있다.
- 터미널을 닫게 된다면?
당연히 컨테이너도 함께 종료된다.
그럼 터미널을 닫아도 레디스가 계속 실행되게 하려면 어떻게 할까?
-d 옵션
위 옵션을 주게 되면 백그라운드에서도 잘 동작하게 해준다.
해당 명령을 입력하면, 컨테이너 아이디를 출력하고, 명령은 종료되지만, 레디스는 계속 실행되고있다.
리눅스 터미널에서 ps 명령어와 같이 실행중인 도커 컨테이너 정보들을 확인할 수 있다.
- 도커 컨테이너는 기본적으로 외부 네트워크와 격리된 상태이다.
로컬 환경에서 컨테이너에 연결하기 위해서 호스트와 컨테이너 포트간에 포트 매핑 설정을 해줘야한다.
-p [호스트(로컬)포트]:[연결할 컨테이너포트]
이런식으로 호스트 6379포트 요청한 정보들은 컨테이너 6379포트로 전달된다. 즉, 로컬에서 레디스로 직접적으로 접근할 수 있게 된것이다.
docker kill [Container ID]
컨테이너 아이디를 가지고 실행중인 컨테이너를 종료하는 명령어이다.
이렇게 설치 때문에 정말 고생많았던 레디스 설치를 끝냈다,,,,, 삽질 열심히 한 나자신 아주 칭찬해
다음글은 본격적으로 Redis CLI을 통한 접속에 대해 알아보겠다.
2024.04.05 - [Spring/대용량 트래픽] - Redis CLI 실습
'Spring > 대용량 트래픽' 카테고리의 다른 글
Java에서 Redis 명령어 (0) | 2024.05.03 |
---|---|
Redis 다양한 데이터 타입 알아보기 (0) | 2024.04.30 |
Redis CLI 실습 (0) | 2024.04.05 |
Redis를 알아보자! (0) | 2024.04.01 |
Spring에서 대용량 트래픽 처리 (0) | 2024.03.31 |