선생님은 Mac, 전 Window..
문제가 생기면 스스로 해결해 나가야합니다.
아직 강의는 시작도 안하고, 환경만 만들었을 뿐..
Dokcer Desktop 설치도 문제가 있었지만, 레디스 이미지를 가져오는데에도 문제가 생겼습니다.
하지만, 전 다른 블로거분들의 도움으로 Redis 설치에 성공했습니다..
Windows에서 Docker 환경에 Redis 이미지를 가져오는 것을 기록으로 남겨두어, 나중에는 잘 당겨오는 것을 목표로 합니다.
0-1. 도커란
컨테이너화 기술을 기반으로 한 플랫폼으로, 애플리케이션을 컨테이너라는 격리된 환경에서 실행할 수 있도록 해줍니다.
Docker는 애플리케이션과 그 의존성, 라이브러리, 환경 설정 등을 포함한 이미지를 만들고, 이를 실행할 수 있는 컨테이너라는 단위로 구동합니다.
0-2. 컨테이너란
특정 이미지에서 만들어진 독립적인 실행 환경입니다.
예를 들어, Redis 이미지를 기반으로 생성된 컨테이너는 Redis 서버만 실행합니다.
0-3. 이미지란
실행 가능한 프로그램과 그 프로그램에 필요한 모든 라이브러리, 설정 파일 등을 포함하는 패키지입니다.
* 오늘 설치할 Redis 이미지는 Redis 서버가 실행될 수 있도록 필요한 모든 파일과 환경을 갖추고 있습니다.
이를 통해 사용자는 Redis 서버를 직접 설치하거나 환경을 설정할 필요 없이, Docker를 이용하여 손쉽게 Redis를 실행할 수 있습니다.
0-4. Docker 이미지 다운로드
Docker Hub에서 Redis 이미지를 로컬 시스템의 Docker 엔진으로 다운로드합니다.
* Docker Hub: Docker 이미지를 저장하고 공유하는 클라우드 저장소입니다.
* Docker Engine: Docker 엔진은 Docker를 실행하기 위한 백엔드 소프트웨어입니다.
컨테이너를 실행하고 관리하는 역할을 하며, Docker 이미지를 다운로드하거나 새로운 이미지를 빌드할 수 있는 기능도 제공합니다.
docker pull redis:version
1. 이미지 다운로드: 중앙 저장소(Docker Hub)에서 Redis 이미지를 가져옵니다.
2. 로컬 저장소: 이미지는 로컬 Docker 엔진의 로컬 이미지 저장소(Docker가 설치된 현재 컴퓨터)에 저장됩니다.
3. 컨테이너 실행: Redis 이미지를 다운로드한 후, docker run 명령어를 사용하여 Redis 이미지를 기반으로 컨테이너를 실행합니다. 컨테이너는 이미지에서 실행되는 독립된 환경이며, 이를 통해 Redis 서버가 작동합니다.
1. Docker Hub 접속
개인도 이미지를 공유할 수 있기때문에, Docker Official Image가 붙은 Redis를 찾습니다.
지원하는 버전을 확인하고, 오른쪽 상단의 docker full redis를 복사합니다.
최종 명령어는 docker ull redis:버전이 됩니다.
2. Docker Desktop 설정
설정⚙️ → General → Use the WSL2 based engine이 체크됐는지 확인
설정⚙️ → Resources → WSL Integration → Enable integration with my default WSL distro가 체크됐는지 확인
* Docker Desktop과 Windows Subsystem for Linux (WSL) 간의 통합을 활성화하는 것을 의미합니다.
이를 통해 Docker는 Windows에서 직접 실행되지 않고, WSL 2 기반의 Linux 커널 위에서 실행됩니다.
* WSL 환경에서 Docker 명령어(docker run, docker ps 등)를 실행할 수 있게 됩니다.
* WSL 내에서 Linux 명령어를 사용해 Docker 작업을 처리할 수 있습니다.
3. cmd
# Docker 버전 확인, Docker가 정상적으로 설치 되었는지 확인
docker -v
# 현재 실행중인 container가 존재하는지 확인
docker ps
# Redis 6.2 이미지 다운로드
docker pull redis:6.2
# 다운로드 받은 이미지 확인
docker images
# Redis 이미지를 실행하여 Redis 서버를 컨테이너 안에서 구동
docker run --rm -d -p 6379:6379 -it redis:6.2
# --rm: 컨테이너를 끈 뒤에 자동으로 삭제
# -d: 컨테이너를 실행하면서 해당 컨테이너는 수동으로 중단하지 않는 이상 계속 백그라운드에서 실행된 상태를 유지
# - p 6379:6379
# Docker Container는 외부 네트워크에 대해 기본적으로 격리된 상태
# 로컬 개발 환경에서 컨테이너로 연결하기 위해 host와 container port를 매필해야 함
# Redis 6.2 컨테이너가 로컬 환경 포트 6379에서 docker의 6379 포트로 매핑하여 실행
# -it: 터미널 창에서 Redis 명령을 직접 실행할 수 있게 함
# docker ps로 Container ID 를 확인 후, Redis client에 접속하여 작업 환경이 정상적으로 이루어졌는지 확인
docker exec -it {Container ID} redis-cli
# docker ps로 Container ID 를 확인 후, 컨테이너 종료
docker kill {Container ID}
📑
참고 자료
Chat GPT
https://jindevelopetravel0919.tistory.com/391
'MinimiProject > 아이돌 티켓팅 접속자 대기열 시스템' 카테고리의 다른 글
[대기열 시스템] Windows Docker Desktop 설치 (1) | 2025.01.04 |
---|