๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸชดEtc/๐Ÿ’ป Linux

์„ค์น˜์—†์ด Docker๋ฅผ ์ด์šฉํ•œ Mysql

by MuGeon Kim 2023. 1. 16.
๋ฐ˜์‘ํ˜•

https://pos04167.tistory.com/90

 

WSL2 ๋‹ค์šด๋กœ๋“œ

https://learn.microsoft.com/ko-kr/windows/wsl/install WSL ์„ค์น˜ wsl --install ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ Linux์šฉ Windows ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine ๋“ฑ ์›ํ•˜๋Š” Linux ๋ฐฐํฌํŒ์—์„œ ์‹คํ–‰๋˜๋Š”

pos04167.tistory.com

์ „์— ๋‚ด์šฉ์˜ ์—ฐ์žฅ์„ ์ž…๋‹ˆ๋‹ค.

 

๋งŒ์•ฝ์— wsl2 ์„ค์น˜๊ฐ€ ๋๋‚ฌ์œผ๋ฉด ๋‹ค์Œ์€ docker-desktop์„ ์„ค์น˜๋ฅผ ํ•ฉ๋‹ˆ๋‹ค.

 

https://www.docker.com/products/docker-desktop/

 

Download Docker Desktop | Docker

Docker Desktop is available to download for free on Mac, Windows, or Linux operating systems. Get started with Docker today!

www.docker.com

 

๊ทธ๋ฆฌ๊ณ  power-shell์˜ ์šฐ๋ถ„ํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์›ํ•˜๋Š” ์žฅ์†Œ์— docker ํด๋”๋ฅผ ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

 

์ฒ˜์Œ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์„ ์ ‘ํ–ˆ๋˜ ์ €๋Š” ... ๊ฐœ๊ณ ์ƒ์„ ํ•˜๋ฉด์„œ ์กฐ๊ธˆ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

 

mkdir , cd , pwd , ls , ls -l , vi , clear ์ผ๋‹จ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด์ •๋„๋งŒ ํ™œ์šฉํ•˜์—ฌ ๋„์ปค ํด๋”๋ฅผ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์ผ๋‹จ ์ฒ˜์Œ์— pwd๋ฅผ ํ•˜์—ฌ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํƒ์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

์ผ๋‹จ ์ €๋Š” docker ํด๋”๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ c๋“œ๋ผ์ด๋ธŒ์— ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ ์ตœํ•˜์œ„ ์žฅ์†Œ๋กœ ์ด๋™ํ•˜๊ณ  ์—ฌ๊ธฐ์„œ ๋งŽ์€ ํŒŒ์ผ ์ค‘์— c๋“œ๋ผ์ด๋ธŒ๋ฅผ ๊ฐ€๊ธฐ ์œ„ํ•ด์„œ mnt ํด๋”๋กœ ๊ฐ€์•ผ๋ฉ๋‹ˆ๋‹ค.

 

๋ฌผ๋ก  ์ €๋Š” ์‚ฝ์งˆ์„ ํ†ตํ•ด์„œ ์•Œ๊ฒŒ ๋ฌ์Šต๋‹ˆ๋‹ค.(๋‹ค ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค.)

 

์ €์ฒ˜๋Ÿผ ๋ฐ”๋ณด์ง“ ํ•˜์ง€๋งˆ์„ธ์š”....

์ด์ œ c๊ฐ€ ๋ณด์ด๋„ค์š” ์ €๋Š” c๋ฅผ ๋“ค์–ด๊ฐ€์„œ docker๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

cd c/ -> mkdir docker

์ดํ›„์— docker์•ˆ์— mysql ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  docker-compose.ymlํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์ €๋Š” ์ด๋ฏธ ๋งŒ๋“ค์–ด์„œ docker-compose2๋กœ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ ๋‹ค๋ฅธํ‚ค๊ฐ€ ์•ˆ๋จน์„ํ…๋ฐ esc๋ฅผ ํ•œ๋ฒˆ ๋ˆ„๋ฅด์‹œ๊ณ  ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋„ฃ์Šต๋‹ˆ๋‹ค.

version: "2"

services:
  vacation-db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "root1234"
      MYSQL_DATABASE: "database์ด๋ฆ„"
      MYSQL_USER: "์•„์ด๋””"
      MYSQL_PASSWORD: "์•”ํ˜ธ"
      TZ: Asia/Seoul
    command:
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_unicode_ci
    volumes:
      - ./database/init/:/docker-entrypoint-initdb.d/
      - ./database/datadir/:/var/lib/mysql
    platform: linux/x86_64
    ports:
      - 3306:3306

์ดํ›„์— :w , :q๋ฅผ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

w๋Š” ์ €์žฅ์ด๊ณ  q๋Š” ๋‚˜๊ฐ€๊ธฐ ์ด๋ ‡๊ฒŒ ์ดํ•ดํ•˜๋ฉด ํŽธํ•ด์š”.

 

์ดํ›„์— ๋“œ๋””์–ด ๋„์ปค๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ docker-desktop์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

์ €๋Š” ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•˜๊ณ  ์žˆ์–ด์„œ ์‹คํ–‰๋˜๋Š” ๊ฒŒ ์žˆ๋Š”๋ฐ ์•„๋งˆ๋„ ๋„์ปค๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ–ˆ์œผ๋ฉด ์—†์„๊ฑฐ์—์š”.

 

์ด ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ณ  ๋‹ค์‹œ shell๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. 

์ปดํฌ์ฆˆํ•œ ํŒŒ์ผ์„ ์„ ํƒํ•˜๊ณ  docker-compose up -d๋ฅผ ์‹คํ–‰ํ•˜๋ฉด mysql์— ์—ฐ๊ฒฐ์ด ๋ฉ๋‹ˆ๋‹ค.

 

๋ฌผ๋ก  workbench๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

์ด ๋ถ€๋ถ„์€ ์ƒ๋žตํ• ๊ฒŒ์š”. ๊ตฌ๊ธ€์— ์น˜์‹œ๋ฉด ๋„ˆ๋ฌด ๋งŽ์ด ๋‚˜์™€์žˆ์–ด์š”.

 

์ดํ›„์— ์›Œํฌ๋ฒค์น˜์—์„œ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด mysql์„ ์ž์œ ๋กญ๊ฒŒ ์ด์šฉ ๊ฐ€๋Šฅํ•ด์š”.

 

๋งŒ์•ฝ์— mysql์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด docker-compose down์„ ์น˜์‹œ๋ฉด ๊บผ์ง‘๋‹ˆ๋‹ค.

 

์—ฌ๊ธฐ๊นŒ์ง€ ์ดˆ๋ณด ๊ฐœ๋ฐœ์ž์˜ ์‚ฝ์งˆ์ด์˜€์Šต๋‹ˆ๋‹ค. ๊พธ๋ฒ…

๋ฐ˜์‘ํ˜•