
Docker ์ฒซ๋ฒ์งธ ๊ฒ์๋ฌผ์ ํตํด์ Docker ๋ผ๋ ๋ ์์ด ์ด๋ค ๋ ์์ด๊ณ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ ํ์๋ฐฐ๊ฒฝ ๋ฑ๋ฑ์ ์์ธํ๊ฒ ์์ ๋ณผ ์ ์์๋ค. Docker๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ค์น๊ฐ ํ์ํ๋ฐ, ์ค์น ๋ฐฉ๋ฒ์ด ๊ทธ๋ ๊ฒ ๋ณต์กํ๊ฑฐ๋ ํ์ง ์๊ณ ์๊ฐ๋ณด๋ค ๋ฒํผ ๋ช๋ฒ ํด๋ฆญ์ผ๋ก Docker๋ฅผ ๋น ๋ฅด๊ฒ ์ค์นํ ์ ์๋ค.
Docker ๋ ๋ฌด์์ผ๊น์? Docker ๊ฐ๋ ๋ฐ ์ค๋ช
[Docker] Docker๋ ๋ฌด์์ผ๊น์? / Docker ๊ฐ๋ ๋ฐ ์ค๋ช
IT์ ๊ณ์์ ์ข ์ฌํ๋ ์ฌ๋์ด๋ผ๋ฉด 'docker(๋์ปค)'๋ผ๋ ๋จ์ด๋ฅผ ๋ค์ด๋ณธ์ ์ด ์์๊ฒ์ด๋ค. ์ผ์ํ๋ฉด์๋ ๊ฒ์์ ํ ๋, ๋ค๋ฅธ ํ๋ค๊ณผ์ ํ์ ์ ์งํํ ๋, ์ ๊ธฐ์ ๊ด๋ จ ํ์๋ฅผ ์งํํ ๋ ๋ฑ๋ฑ ๋ค์ํ ์ํฉ
junesker.tistory.com
Docker๋ฅผ ์ค์นํ๋ฌ ๊ฐ๊ธฐ ์ , Docker์ ๋ํด์ ์๊ณ ์ถ์ ๋ถ๋ค์ ์ ๊ฒ์๊ธ์ ์ฝ๊ณ ์ค๋๊ฒ๋ ๋์์ด ๋ ๊ฒ์ด๋ค. Docker์ ํ์๋ฐฐ๊ฒฝ, Docker ๊ฐ๋ , Docker ๋์๋ฐฉ์, Docker ์ํคํ ์ฒ, ํต์ฌ ๊ตฌ์ฑ์์ ๋ฑ๋ฑ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ ์ ์๋ค.
Docker ์ค์น ๋ฐฉ๋ฒ / ๋ค์ด๋ก๋ ๋ฐฉ๋ฒ
1. Docker ๊ณต์ ํํ์ด์ง์ ์ ์ํฉ๋๋ค.

Docker ๊ณต์ ํํ์ด์ง์ ์ ์ํฉ๋๋ค.
Docker: Accelerated Container Application Development
Docker is a platform designed to help developers build, share, and run container applications. We handle the tedious setup, so you can focus on the code.
www.docker.com
2. Docker๋ฅผ ์ค์น ํ, ์ฌ์ฉํ๋ ค๋ฉด ๋ก๊ทธ์ธ์ ์งํํด์ผํฉ๋๋ค. ๊ณ์ ์ ๋ณด๊ฐ ์๋ค๋ฉด ๋ฏธ๋ฆฌ ๋ก๊ทธ์ธ์ ํด๋๊ณ ๊ณ์ ์ ๋ณด๊ฐ ์๋ค๋ฉด ํ์๊ฐ์ ์ ์งํํฉ๋๋ค.

๋์ปค๋ฅผ ์ด์ฉํ๋ ค๋ฉด ๊ณ์ ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค. ์ค์น ํ ๋ก๊ทธ์ธ์ ํ๋ ค๋ฉด ๊ณ์ ์ ๋ณด๊ฐ ํ์ํ๋, ๋ฏธ๋ฆฌ ๋ก๊ทธ์ธ์ ํด๋ก๋๋ค. ๊ฐ๊ฐ์ ๋น์์ ์ ๋ ฅํ๋ username ๋๋ ์ด๋ฉ์ผ ๊ณ์ ์ ์ ๋ ฅํ๊ณ ๋ก๊ทธ์ธ์ ์งํํฉ๋๋ค. ๋๋ ๊ตฌ๊ธ, ๊นํ์ผ๋ก ํ์๊ฐ์ ์งํํ๋ค๋ฉด SNS๋ก๊ทธ์ธ์ผ๋ก ์ ์ํฉ๋๋ค.
3. ๊ณ์ ์ ๋ณด๊ฐ ์กด์ฌํ์ง ์๋ค๋ฉด, ํ์๊ฐ์ ์ ์งํํฉ๋๋ค.

Email, Username, Password ๋ฅผ ์ ๋ ฅํ๊ณ ๊ฐ์ ์ ์งํํฉ๋๋ค. ๊ฐ์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ตฌ๊ธ, ๊นํ ๊ณ์ ์ ๋ณด๋ฅผ ์ด์ฉํด ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํธํ ๋ฐฉ๋ฒ์ ์ ํํด ๊ฐ์ ์ ์งํํด์ฃผ์ธ์,
4. Docker ๊ณต์ ํํ์ด์ง ๋ฉ์ธํ๋ฉด์์ 'Get Started' ๋ฒํผ์ ๋๋ฌ ๋์ค๋ ํ์ด์ง์์ 'Download for Windows' ๋ฒํผ์ ๋๋ฆ ๋๋ค. ํ์ฌ ์ฌ์ฉ์ค์ธ OS ๊ธฐ์ค์ ๋ง์ถฐ Docker ์คํ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์์ค๋๋ค.

ํ์ฌ ์ฌ์ฉ์ค์ธ OS๋ window์ ๋๋ค. ๊ทธ๋์, Download for Windows ๋ฒํผ์ ๋๋ฌ Docker ์คํ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์์ค๋๋ค. ๊ทธ ์ธ์๋ 'Download for Mac-Intel Chip', 'Download for Mac-Apple Silicon', 'Download for Linux' ๋ฒํผ์ ํตํด ์ฌ์ฉ์ค์ธ OS์ ๋ง์ถฐ ๋ค์ด๋ก๋๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
5. ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋๋ฉด, Docker Desktop Installer.exe ํ์ผ์ด ๋ณด์ด๊ณ ์ค์น ํ์ผ์ ๊ตฌ๋ํฉ๋๋ค.


6. Docker ์ค์น ํ์ผ์ ์คํํ๋ฉด ์ค์น๋ฅผ ์งํํฉ๋๋ค.


์ค์น๋ฅผ ์งํํ๋ ๊ณผ์ ์์ ๋ํ๋๋ Configuration ํญ๋ชฉ์ ๋๊ฐ๋ค ์ฒดํฌํ ์ํ๋ก ์งํํฉ๋๋ค. ์ฒซ๋ฒ์งธ ํญ๋ชฉ์ 'Hyper-V ๋์ WSL2๋ฅผ ์ฌ์ฉํ๊ธธ ๊ถ์ฅํ๋ค'์ด๊ณ , ๋๋ฒ์งธ ํญ๋ชฉ์ '๋ฐํํ๋ฉด์ ๋ฐ๋ก๊ฐ๊ธฐ ์ถ๊ฐ'์ ๋๋ค.
WSL(Windows Subsystem for Linux)์ด๋?
Linux์ฉ Windows ํ์ ์์คํ ์ธ WSL์ ๊ธฐ์กด Windows ๋ฐ์คํฌํฑ ๋ฐ ์ฑ๊ณผ ํจ๊ป Windows์์ ์ง์ Linux ๋ช ๋ น์ค ๋๊ตฌ ๋ฐ GUI์ฑ๊ณผ ํจ๊ป Linuxํ์ผ ์์คํ ์ ์คํํ ์ ์๋ Windows ์ด์ ์ฒด์ ์ ๊ธฐ๋ฅ์ ๋๋ค.
WSL์ ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ(Ubuntu, Debian, OpenSUSE, Kali, Alpine ๋ฑ๋ฑ)๋ฅผ ์ ํํ์ฌ Bash ์ ธ์์ Linux๋ฅผ ์คํํ ์ ์์ต๋๋ค. Bash๋ฅผ ์ฌ์ฉํ๋ฉด Linux ๋ช ๋ น์ค ๋๊ตฌ ๋ฐ ์ฑ์ ์คํํ ์ ์์ต๋๋ค. ๋ํ Linux Bash ์ ธ ๋ด์์ ๋ก์ปฌ ๋จธ์ ์ ํ์ผ ์์คํ ์ ์ก์ธ์คํ ์ ์๋๋ฐ ์ด ๊ฒฝ์ฐ ๋ก์ปฌ ๋๋ผ์ด๋ธ๋ '/mnt' ํด๋ ์๋์ ํ์ฌ๋์ด ์์ต๋๋ค.
7. ์ค์น๊ฐ ์๋ฃ๋๋ฉด 'Close'๋ฒํผ์ ๋๋ฌ ์ค์น๋ฅผ ์๋ฃํฉ๋๋ค.


'Unpacking files... ' ๊ตฌ๊ฐ์์ ์๊ฐ์ด ์กฐ๊ธ ๊ฑธ๋ฆด์ ์์ง๋ง, ์กฐ๊ธ ๊ธฐ๋ค๋ฆฌ๋ค๋ณด๋ฉด ์ค์น๊ฐ ์๋ฃ๋์ด 'Close'๋ฒํผ์ด ๋ณด์ ๋๋ค. ์ค์น๊ฐ ์๋ฃ๋์๋ค๋ฉด 'Close'๋ฒํผ์ด ํ์ฑํ๋์ด ์์ํ ๋ ๋๋ฌ ์ค์น๋ฅผ ์๋ฃํด์ค๋๋ค.
8. ์ค์น๊ฐ ์๋ฃ๋๋ฉด ๋ฐํํ๋ฉด์ ๋ฐ๋ก๊ฐ๊ธฐ(shortcut)๊ฐ ์์ฑ๋๊ณ Docker Desktop์ ์คํํฉ๋๋ค.

9. Docker Desktop์ ์คํ ํ, 'Accept' ๋ฒํผ์ ๋๋ฌ ์งํํฉ๋๋ค.

Docker ๊ตฌ๋ ์๋น์ค ๊ณ์ฝ์ ๋์ํ๋์ง๋ฅผ ๋ฌป๋ ์ฐฝ์ด ๋ํ๋ฉ๋๋ค. ๋์๋ฅผ ์ ํํ๋ฉด ๊ตฌ๋ ์๋น์ค ๊ณ์ฝ, Docker ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ณ์ฝ ๋ฐ ๋ฐ์ดํฐ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ์ ์ฑ ์ ๋์ํ๋ ๊ฒ์ด ๋ฉ๋๋ค. ์ง์์ด 250๋ช ์ด์์ด๊ฑฐ๋ ์ฐ๊ฐ ์์ต์ด ์ฒ๋ง ๋ฌ๋ฌ ์ด์์ธ ํ์ฌ์์ Docker Desktop์ ์์ ์ ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์ ๋ฃ ๊ตฌ๋ ์ด ํ์ํ๋ค๊ณ ๋ ๋์ค๋๋ฐ, ์ฐ๋ฆฌ๋ ๊ทธ์ ๋์ ๊ท๋ชจ๊ฐ ์๋๋ฏ๋ก ๊ฑด๋๊ฐ๋๋ก ํ๊ณ 'Accept' ๋๋ 'Close' ๋ฒํผ์ ํตํด ์ํ๋ ํํ์ ์๋น์ค๋ฅผ ์งํํ๋๋ก ํฉ๋๋ค.
10. Docker Desktop์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ก๊ทธ์ธ์ ์งํํฉ๋๋ค.

Docker Desktop์ ์ฌ์ฉํ๋ ค๋ฉด Docker ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ์ด ํ์ํฉ๋๋ค. 1-3๋ฒ์์ ์ด์ผ๊ธฐํ๋ฏ์ด ์ฌ์ ์ ๊ณ์ ์ ๋ณด๊ฐ ํ์ํ๋ฏ๋ก ๋ก๊ทธ์ธ ๋๋ ํ์๊ฐ์ ํ ๋ก๊ทธ์ธ์ ๋ฏธ๋ฆฌ ํด๋๋ค๊ณ ํ์๋ค. ํน์๋ ๋ก๊ทธ์ธ์ด ๋์ด ์์ง ์๋ค๋ฉด ๋ค์ ๋ก๊ทธ์ธ์ ์งํํ๋๋ก ํฉ๋๋ค.
11. Docker ํํ์ด์ง๋ก ์ฐ๋๋์ด ๋ก๊ทธ์ธ์ ์งํ ํ, ์งํ์ด ์๋ฃ๋๋ฉด ๋ค์ Docker Desktop์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ด๋ํฉ๋๋ค.

Docker ๊ณต์ ํํ์ด์ง์์ ๋ก๊ทธ์ธ์ ์งํํ ๋, ๊ฐ๋ณ username ๋๋ ์ด๋ฉ์ผ๋ก ๋ก๊ทธ์ธ์ ํ๊ฑฐ๋ ๊ตฌ๊ธ, ๊นํ ๊ณ์ ์ ์ด์ฉํ์ฌ ๋ก๊ทธ์ธ์ ์งํํ ์ ์๊ณ ๋ณธ ์์ฑ์๋ ๊ตฌ๊ธ์ ์ด์ฉํ์ฌ ๋ก๊ทธ์ธ์ ์งํํ๊ณ ๊ตฌ๊ธ ๋ก๊ทธ์ธ์ด ์ฑ๊ณต ์ ์ด๋ ค์๋ Docker Desktop์ผ๋ก ์ฐ๋๋์ด ๋์ด๊ฐ๋๋ค.
12. ์ด ๋๊ฐ์ง ๋จ๊ณ๋ฅผ ๋ฌผ์ด๋ด ๋๋ค. ์ฒซ๋ฒ์งธ ๋จ๊ณ์ธ 'Welcome Survey'์ 'What's your role?' ์์ ๋ณธ์ธ์๊ฒ ๋ง๋ role์ ์ ํ ํ ๋ค์์ผ๋ก ์งํํฉ๋๋ค.

์ฌ๋ฌ๊ฐ์ role๋ค ์ค, ๋ณธ์ธ์๊ฒ ๋ง๋ role์ ์ ํ ํ ๋ค์์ผ๋ก ์งํํฉ๋๋ค. ๋ณธ ์์ฑ์๋ 'Back-end developer'๋ฅผ ์ ํํ๊ณ ๋ค์์ผ๋ก ๋์ด๊ฐ๋๋ค.
13. ์ด ๋๊ฐ์ง ๋จ๊ณ๋ฅผ ๋ฌผ์ด๋ด ๋๋ค. ๋๋ฒ์งธ ๋จ๊ณ์ธ 'Welcome Survey'์ 'What will you use Docker for?' ์์ ๋ณธ์ธ์๊ฒ ๋ง๋ ์ฒดํฌํญ๋ชฉ์ ์ฌ๋ฌ๊ฐ ์ ํํ์ฌ ๋ค์์ผ๋ก ์งํํฉ๋๋ค.

์ฌ๋ฌ๊ฐ์ ์ฒดํฌ ํญ๋ชฉ๋ค ์ค, ๋ณธ์ธ์๊ฒ ๋ง๋ ํญ๋ชฉ์ ์ฒดํฌํ๊ณ ๋ค์์ผ๋ก ๋์ด๊ฐ๋๋ค. ๋ณธ ์์ฑ์๋ 'Learning or teaching', 'Deploying applications', 'Testing applocations', 'Hobby projects', 'Local development'๋ฅผ ์ฒดํฌํ๊ณ ๋ค์์ผ๋ก ๋์ด๊ฐ๋๋ค.
14. ๋ ๊ฐ์ง ๋จ๊ณ๋ฅผ ์ดํํ๋ฉด Docker Desktop ๋ฉ์ธ ๋์๋ณด๋๋ก ๋์ด์ต๋๋ค.

Step ๋ ๊ฐ์ง๋ฅผ ์ดํํ๊ณ ๋์ด์ค๋ฉด Docker Desktop ๋ฉ์ธ ๋์๋ณด๋๋ก ๋์ด์ต๋๋ค. ํด๋น ํ๋ฉด์ ๋ณด๊ณ ์๋ค๋ฉด Docker Desktop์ ์ ์์ ์ผ๋ก ์ค์นํ๊ณ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ต๋๋ค.
@Junesker