본문 바로가기
IT 톺아보기/CICD

docker compose

by 파초우 2022. 6. 4.
반응형

Docker Compose란?
* 다중 컨테이너 도커 어플리케이션을 정의 하고 실행하기 위한 도구

Redis??
* Remote Dictionary Server의 약자로 메모리 기반의 키-값 구조 데이터 관리 시스템 이다. 비관계형 데이터베이스(NoSql)로 모든 데이터를 메모리에 저장하고 빠르게 조회가 가능
* 메모리에 저장하기 때문에 mysql 같은 것보다 빠르게 불러올 수 있고 영속적인 저장으로 서버를 재부팅 해도 데이터가 남아있다.

docker run redis

를 통해 redis를 먼저 구동한다. 이후, 다른 터미널을 통해 docker를 실행하면

 


이러한 에러를 만나볼 수 있다.
이는 Redis 서버에 연결이 실패 됐다는 의미인데, 이는 서로 다른 컨테이너에서 실행을 시켜서 접근이 가능 하지 않다.
그래서 멀티 컨테이너 상황에서 두 컨테이너를 연결해주는 방식을 취해야한다.
이러한 것을 쉽게 해주는 것이 Docker-compose인데 Docker-compose 파일은 형식이 .yml 형식이다

yml이란 YAML ain’t markup language의 약자로써, 일반적으로 구성 파일 및 데이터가 저장되거나 전송되는 응용 프로그램에서 사용되고 원래는 XML이나 JSON 포맷으로 많이 쓰였지만, 좀 더 사람이 읽기 쉬운 포맷으로 나타난게 YAML이다.

Docker-compose up // 이미지가 없을 때 이미지를 빌드하고 컨테이너 시작
Docker-compose up  —build // 이미지가 있든 없든 이미지를 빌드하고 컨테이너를 시작

Docker Compose를 실행

 


파일이 실행된 것을 볼 수 있다

컨테이너를 중단시키는 방법은

Docker-compose down
Docker-compose -d up

의 경우는 dockerfile이 백그라운드에서 작동하게 된다
실제로는 dockerfile을 개발 단계용, 실제 배포 후에 사용할 것을 따로 작성하는 것이 좋다

반응형