도커가 깔렸다면..
docker -v, docker ps
혹은 systemctl status docker로
잘 돌아가는지 확인을 해 보자
compose.yml
version: "3"
services:
redis:
image: redis:latest
command: redis-server --port 지정할 Redis 포트번호
container_name: Redis 컨테이너 이름
hostname: redis_service
labels:
- "name=redis"
- "mode=standalone"
ports:
- 외부에서Redis로 들어갈포트:지정한 Redis 포트번호
mysql:
image: mysql:latest
container_name: MySQL 컨테이너 이름
ports:
- 외부에서들어올포트:지정해준포트번호
environment:
MYSQL_ROOT_PASSWORD: 지정할 root 비밀번호
MYSQL_TCP_PORT: 지정할 MySQL 포트번호
TZ: Asia/Seoul
command: ["mysqld", "--default-authentication-plugin=mysql_native_password", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
먼저 터미널에서 touch compose.yml을 쳐서 새로운 파일을 만든다
(만드는 장소는 아무 곳이나 괜찮다 그런데 기억은 해두자)
그리고 위의 내용을 그대로 복사해서 넣어줄 것인데..
복사하기 전에 몇 가지 내용을 좀 수정해 주자
공통 설정
- image : 이미지 버전을 설정한다 원하는 버전이 있다면 수정해 주자
- container_name: docker ps치면 나오는 컨테이너목록에 맨 오른쪽에 나오는 이름이다 알아보기 쉽게 지정해 주자
- ports: 도커의 포트 설정이다. 왼쪽이 들어오는, 오른쪽이 들어와서 어디로 가는지 설정해준다 생각하면 쉽다
redis
- command : --port 레디스서버의 포트를 임의지정한다 개인적으로 기본포트는 싫어하기에 수정해 준다
- hostname: redis_server로 지정해 주자
- labels: 일단 name은 그냥 redis로, mode는 우리가 분산처리할 것도 아니니 그냥 간단하게 standalone으로 맞춰주자
mysql
- command: mysql에 옵션을 줄 건데.. 간단하게 설명하면
ㄴ mysqld -- default-authentication-plugin=mysql_native_passwod
> 비밀번호 인증방식이 바뀌었다 한다.. 그래서 이전 호환성을 위해 이런 식으로 바꿔주자
ㄴ mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ㄴ 이름 그대로 문자셋 설정이다 나중에 하나하나하기 귀찮으니 설정해 주자
- environment: password와 port를 지정해주며 타임존은 서울로 맞춰주자
이제 다 수정했으면 아까 열어둔 compose.yml에 냅다 붙여넣기하고
:wq로 저장해서 나오자
주의할 점
1. version: '3'이 잘리지 않았는가 잘 확인한다
2. 공백이 잘 들어갔는지 꼼꼼히 확인한다
3. 오타가 없는지 잘 확인한다
다 잘 확인했다면.. 이제 컴포즈 파일을 실행시킬 차례
docker compose up -d로 compose파일을 백그라운드 상태로 올린다
처음실행이라면 이미지들 다운로드하고 쥬르륵 뜬 뒤 시작이 완료되었다는 말이 나온다
확인해보려면 docker ps를 치면 현재 실행 중인 컨테이너가 나온다
여기서 만약에 2개가 없다면..
docker ps -a로 꺼진 컨테이너도 확인한다
ㄴ 만약 꺼져있다면 이유를 확인해야 하니.. 로그를 찍어보도록 하자
> docker logs 컨테이너이름
이런 식으로 치면 그 컨테이너의 로그가 좍 뜬다 여기서 오류를 찾아서 해결하자
도커는 간단하게 끝이 났다 다음 포스팅은 방화벽을 열어보자
'프로그래밍 > 개인홈페이지' 카테고리의 다른 글
미니 서버를 만들어보자 - 개인서버 전체 네트워크맵 구상 (0) | 2023.01.09 |
---|---|
미니 서버를 만들어보자 - firewall-cmd로 방화벽을 열어보자 (0) | 2023.01.09 |
미니 서버를 만들어보자 - RHEL9에 docker 깔기 (0) | 2023.01.08 |
미니 서버를 만들어보자 - 무료로 레드햇 받아서 맥에서 ISO 굽기 (0) | 2023.01.07 |
미니 서버를 만들어보자 - OS를 정해보자 (0) | 2023.01.07 |