일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- aews ci/cd
- k8s
- volume
- keda
- kubernetes
- AWS
- 국비지원교육
- Python
- 외부 모듈
- aews vault
- observability
- 클라우드 국비지원교육
- storageclass
- POD
- Jenkins
- CAS
- 공부 방법
- 클라우드 엔지니어
- eks endpoint access
- HPA
- 단기 합격
- karpenter
- VPA
- EKS
- aews
- 도커
- docker
- 클라우드 국비지원교육 후기
- 합격 후기
- Terraform
- Today
- Total
모험가
Docker Compose 본문
Dokcer Compose
- Docker Compose는 다중 컨테이너 도커 애플리케이션을 정의하고 실행하기 위한 도구임.
실습
1. 파일 (node-compose-app) 만들기.
2. npm init으로 package.json파일 만들기.
3. package.json 파일에 main 내용과 scripts에 start = "node server.js" 추가!
4. dependencies 추가!
Redis란?
- Redis(Remote Dictionary Server)는 메모리 기반의 키-값 구조 데이터 관리시스템이며,
모든 데이터를 메모리에 저장하고 빠르게 조회할 수 있는 비관계형 데이터베이스(NoSQL)이다.
Redis를 쓰는 이유?
- 메모리에 저장을 하기 떄문에 MySQL같은 데이터베이스에 데이터를 저장하는 것과 데이터를 불러올 때 훨씬
빠르게 처리할 수 있으며, 비록 메모리에 저장하지만 영속적으로도 보관이 가능함.
그래서 서버를 재부팅해도 데이터를 유지할 수 있는 장점이 있다.
Node.js 환경에서 Redis 사용 방법
- 먼저 redis-server를 작동시켜야 함
- 그리고 redis 모듈을 다운받아야 함
- 레디스 모듈을 받은 후 레디스 클라이언트를 생성하기 위해서 Redis에서 제공하는 createClient( ) 함수를 이용해서
redis.createClient로 레디스 클라이언트를 생성
- 하지만 여기서 redis server가 작동하는 곳과 Node.js 앱이 작동하는 곳이 다른 곳이라면 host 인자와 port 인자를 명시 해야함
ex)
만약 Redis 서버가 작동하는 곳이 redis-server.com이라면 Host옵션을 위에 처럼 하면 됨.
그리고 레디스의 기본 포트는 6379임.
도커 환경에서 레디스 클라이언트 생성 시 주의사항
- 도커 Compose를 사용할 때는 host 옵션을 docker-compose.yml 파일에 명시한 컨테이너 이름으로 주면 됨.
우리는 도커로 하기에 server.js 작성
server.js에 app 부분을 추가!
Dockerfile 작성
도커 빌드를 하면 노드 JS가 레디스 서버에 접근을 할 수 없는데
그때 멀티 컨테이너 상황에서 쉽게 네트워크를 연결시켜주기 위해서 Docker Compose를 이용함!!
docker-compose.yml 작성
version : 도커 컴포즈의 버전
services : 이곳에 실행하려는 컨테이너들을 정의
redis-server : 컨테이너 이름
image : 컨테이너에서 사용하는 이미지
node-app : 컨테이너 이름
build : 현 디렉토리에 있는 Docerfile
ports : 포트 맵핑 로컬 포트 : 컨테이너 포트
docker-compose up으로 배포!!
docker compose -d up (백그라운드에서 실행)
docker-compose up vs docker compose up --build
docker-compose up : 이미지가 없을 때 이미지를 빌드하고 컨테이너 시작
docker-compose up --build : 이지미가 있든 없든 이미지를 빌드하고 컨테이너 시작
끄고 싶을때는 docker-compose down!!
'도커' 카테고리의 다른 글
Docker 간단한 어플을 실제로 배포해보기 (개발 환경) (0) | 2022.06.12 |
---|---|
도커 (컨테이너와 로컬 컴퓨터 통신에러 해결) localhost 에러 (0) | 2022.06.09 |
도커를 이용한 간단한 Node.js 어플 만들기 (0) | 2022.05.28 |
도커 이미지 만들어 보기. (0) | 2022.05.26 |
도커(이미지, 간단한 명령어들) (0) | 2022.05.24 |