얼마전에 Redis 와 Kafka를 설치해서 프로젝트에 설정만 해놔야 할 일이 생겼다.(공부용 으로)
그래서 내가 선택한 것은 yml파일로 redis,kafka를 적절하게 세팅만해서 컨테이너로 올리는 것으로 급하게 사용했다.
오늘은 그 방법을 까먹지 않게 적어놓을까 한다.
OS : Mac
사용한 툴 : visual studio code, docker
Yaml 파일 작성
자신이 원하는 위치에 폴더를 생성한다.
/Users/username/Desktop
터미널에서
mkdir docker-compose-directory
vscode에서 생성한 폴더에서 docker-compose.yml 파일을 생성(terminal에서 할 수도 있지만...)
vscode에서 yml 파일 내용 작성 (메모장으로 해도됨)
docker-compose.yml
version: '3.7'
services:
redis:
image: redis:latest #docker image
environment: # 환경변수 설정
- requirepass=${REDIS_PASSWORD} # password 설정 {} 부분은 .env 파일에 있다.
container_name: redis_boot # container의 이름 설정
command: >
--requirepass ${REDIS_PASSWORD}
hostname: redis_boot #host name이다
labels: # version 3.3에서 추가. 컨테이너에 대한 레이블
- "name=redis"
- "mode=standalone"
ports: #포트 설정
- 6379:6379
env_file: # .env 파일의 경로
- "./.env"
zookeeper: # kafka는 zookeeper 와 같이 돌아간다.
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
#build: . 일단 주석처리함...
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: <ip 주소> (localhost라면 127.0.0.1)
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes: #서비스에 대한 하위 옵션으로 지정된 호스트 경로 또는 명명된 볼륨을 탑재한다.
- /var/run/docker.sock:/var/run/docker.sock
여기서 services는 docker에 올릴 container이다. 여러가지 설정을 해서 yml을 실행시키면 container가 생성된다.
version이나 나머지에 대한 것 들은 docker 홈페이지에 나와 있으므로 여기를 참조하면 된다.
env 파일 작성
yml 파일과 동일한 경로에다가 생성해야함
.env
REDIS_PASSWORD=<설정한pwd>
docker-compose 실행
yml파일이 있는 경로에서 명령어 실행
docker-compose up -d
이제 docker-compose.yml 말고 다른 이름으로 작성했다면 작성한 이름을 명시해주면 된다.
docker-compose -f <설정한 이름>.yml up -d
결과
정상적으로 컨테이너가 생성된 것을 확인 할 수 있다.
test
각각의 container에 접속하여 확인해 보자.
Redis는 environment에서 password를 설정해주었으므로 redis-cli에서 auth 인증을 해서 key 값에 value를 넣어보도록 하겠다.
Redis
redis-cli 실행
터미널에서 명령어를 쳐준다.
docker ps : docker 에서 돌아가고 있는 프로세스 확인
docker exec -it 75d1f3427884 /bin/bash : conatiner로 접속
redis-cli : redis-cli 실행
auth <설정한 pwd> : 설정한 pwd 입력
성공한 것을 확인 할 수 있다.
Kafka
Redis와 같이 docker ps로 프로세스 확인해서 kafka의 container id로 접속
밑줄쳐진 명령어들을 수행하면 consumer에 값이 들어간 것이 확인된다.
TEST 성공..!
'컨테이너화 vs 가상화 > Docker' 카테고리의 다른 글
Docker CentOS 설치 (0) | 2022.04.27 |
---|---|
Docker 파일 옮기기 (0) | 2022.04.24 |
Docker에 MariaDB 설치 후 적용 (0) | 2022.04.24 |
Comment