ํ๊ณ ์ดํ 2023๋ ์ฒซ๋ฒ์งธ ๋ธ๋ก๊ทธ์ด๊ตฌ๋.
์ฌํด๋ ์ง์ง ์ด์ฌํ ํด์ผ์ง! ํ๊ณ ๋ค์งํ๋ฉฐ ์ฐ๋ 1์์ ๋ง๋ฌด๋ฆฌ ํ๋ ๊ธ์ด๋ค.
์์ฆ ์ด์ง์ค๋น๋ฅผ ํ๋ฉฐ ๊ณผ์ ๋ฅผ ์งํํ๊ณ ์๋๋ฐ nestjs ์ด๊ธฐ์ ํ ์ ๋ํด์ ๋ค์ํ๋ฒ ์ ๋ฆฌํ ์์๋ ์ข์ ๊ธฐํ ์ธ ๊ฒ ๊ฐ๋ค.
์๊ตฌ์ฌํญ
- ์๋ฒ์คํ ์ ์์์ ๋ฐฉ๋ฒ์ผ๋ก admin์ ์์ฑํ ์ ์์ด์ผ ํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ
- ์๋ฒ ์คํ ์ mysql์ docker๋ก ๋์ด๋ค.
- docker์คํ ์์ ํ ์ด๋ธ์์ฑDDL, ์ ์ ์์ฑ ์ฟผ๋ฆฌ๋ฌธ๋ฑ์ ์์ฑํ์ฌ ์ด๊ธฐ๋ฐ ํจ๊ป ์คํํ๋ค.
1. ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ
๋์ปคํ์ผ์ ์คํํ๊ฒ ๋๋ฉด ๋ด๊ฐ ์ค์ ํด๋์ ์ด๋ฏธ์ง์ ์ต์ ์ ๋ฐ๋ผ ์ปจํ ์ด๋๊ฐ ๋ง๋ค์ด์ง๋ค.
version: '3.3'
services:
mysql:
image: mysql:5.7
restart: always
container_name: 'mysql:33061'
platform: linux/x86_64
ports:
- 33061:3306
environment:
- MYSQL_ROOT_PASSWORD=1234567890
- MYSQL_USER=commerce
- MYSQL_PASSWORD=1234567890
- MYSQL_DATABASE=commerce
- TZ=Asia/Seoul
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
volumes:
- ./mysql-init-files/:/docker-entrypoint-initdb.d/
docker-compose.yml ํ์ผ์์ ๋ด๊ฐ ๋ฃ๊ณ ์ถ์ ์ค์ ๊ฐ๋ค์ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
m1์ mysql5.7์ ๋์ปค๋ก ๋์ฐ๊ธฐ์ํด์ platform: linux/x86_64 ๊ตฌ๋ฌธ์ ์ถ๊ฐํด์ฃผ์ด์ผํ๋ค.
์ด๋ ํฌํธ ๋ฑ์ ์ค์ ํด ์ค ์ ์๋ค. ๋์ปค๋ด์ mysql์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ 3306๋ฒ ํฌํธ๋ก ์ฐ๊ฒฐํ ๊ฒ์ด๊ณ
3306๋ฒ์ ํฌํธ๋ฅผ ๋์ ๋ก์ปฌ 33061๋ฒ์ผ๋ก ์ฐ๊ฒฐ์ํจ๋ค๋ ์๋ฏธ๋ก 33061:3306์ด๋ผ๊ณ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
FROM mysql:5.7
ADD ./mysql-init-files /docker-entrypoint-initdb.d
ADD ./config/my.cnf /etc/mysql/conf.d/
EXPOSE 3306
CMD ["mysqld"]
Dockerfile์ ADD ./ ๋ถ๋ถ์ด ์๋๋ฐ ๋ฌธ์์ด์ ํ ์ ์ํ config.d์ ์ด๊ธฐ์ ํ ์ ์ํ sql ํ์ผ์ ํจ๊ป ๋๊ฒจ์ค๋ค.
sql, sh ํ์ผ์ ์ฆ์ ์คํ์ด ๋๊ธฐ๋๋ฌธ์ ๋ฐ๋ก ์คํ๊ตฌ๋ฌธ์ ๋ฃ์ด์ฃผ์ง์์๋๋๋ค.
์๋ฒ ์คํ ์ ์๋์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ฒ ๋๋ฉด ๋ด๊ฐ ์ค์ ํด๋์ ์ด๋ฏธ์ง๋ก ์ปจํ ์ด๋๊ฐ ์์ฑ๋จ์ ์ ์์๋ค.
docker-compose -f docker/docker-compose.yml up -d --build
'etc' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
11์ ์ธํ๋ฐ ํด๊ทผ๊ธธ ๋ฐ-์ #01 Node.js (0) | 2022.12.02 |
---|---|
redis cache (0) | 2022.11.13 |
UNITHON 9th ํ๊ธฐ (1) | 2022.09.07 |
2022 ์ธํ์ฝ ํ๊ธฐ (1) | 2022.08.28 |