๋จ๋ค ๋ค ์ด๋ค๋ ๊ณ ๋ ์ฌ์ฉ๋ฒ .
Windows
, Docker
, shell
etcโฆ๐ ํ์๋ ์ด์ ๋ํด ์๋ ๊ฒ์ด ์ ๋ฌดํ๋ฏ๋ก, ๋ด์ฉ ์ค ํ๋ฆฐ ๊ฒ์ด ์์ ์ ์์ผ๋ ๊ฐ์คํ๊ณ ์ฝ์ด์ฃผ๊ธธ ๋ฐ๋๋ค.
๋๋ง์ ๋ฌด๊ธฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ ์ด์ ์ ๋ชจ๋์ ์
์
์ sync๋ฅผ ๋ง์ถ๊ธฐ ์ํด์ docker๋ผ๋ ๊ฐ์ํ๊ฒฝ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
๊ฐ๋จํ ํ์ต๊ณผ ์ ์พํ ์ ์๋๐คฉ์ ํตํด์ (image๊ฐ ๋ญ๊ณ container๊ฐ ๋ญ๊ณ , dockerhub๋ ๋ญ๊ณ โฆ ๊นํ ์งญ์ธ๊ฐ ์ใ
ใ
) ์์ํ ์ง์๋ค์ ์์๊ณ , ์ค์ ์ ์ ์ฉํ ์ ์๋๋ก run, pull, start ๋ฑ์ ๊ฐ๋จํ ์ปค๋งจ๋์ ์ต์ํด์ง๋ ์๊ฐ๋ ๊ฐ์ก๋ค.
๊ทธ๋ฐ๋ฐ, ๊ฐ์ํ๊ฒฝ ์์์ ์๋ฒ๋ฅผ ๋๋ฆฌ๋ฉด์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋ชจ์ต์ ์์ํด๋ณด๋ ํ๋ก์ ํธ๋ฅผ ๊ณต์ ํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด์ ๊นํ๋ธ์ ๊ฐ์ VCS
(Version Control System)์ ์ด์ฉํ์ฌ์ผ ํ ๊ฒ์ด๊ณ , ๋ฌธ์ ๋ ์ด ์ฝ๋๋ฅผ ๋์ปค์์์ ์ด๋ป๊ฒ ์์ ํ๋๋ ์ธ๋ฐ, ๋๋ (๋ค๋ฅธ ํ์๋ค๋ ๊ทธ๋ด๊ฑฐ๋ผ ๋ฏฟ์ง๋ง) vim ํฌ๋น์
๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ vsc
์์ ์๋ฒ์ ํ์ผ์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๋
ธ๋ ฅ์ ์๋์์ ํด๋ณผ ์์ ์ด๋ค.
์ฃผ์ํ์. ๋์ปค๋ฅผ ์ด์ฉํด ์๋ฒ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ๊ณผ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ค๋ฅด๋ค.
์ฌ์ฉํ๊ณ ์๋ ๊ธฐ์กด์ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์์ง๋ ๋ชจ๋ฅด๊ฒ ๋ค.
๋๋ ํ์ฌ Windows10 WSL2
์ผ๋ก ์งํํ๊ณ ์๋ค.(windows์์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ docker desktop์ ์ค์นํด์ผํ๋ค.)
๊ฐ๋จํ ๋ช
๋ น์ด๋ฅผ ์์ ์ ๋ฆฌํด ๋ณด์๋ค. ์ฌ์ค์ docker run command
๋ง ์์ผ๋ฉด ๋ฌด์ ์ธ๋ฐ, ์ด๋ ํ๊ฒฝ์ค์ ์ด ์
์
๋์ด ์๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ โ๊ณง๋ฐ๋กโ ์ปจํ
์ด๋๋ก ์คํํ ์ ์๊ฒ ํด์ค๋ค. ์์ ์ปค๋งจ๋๋ฅผ ํตํ ์ ๊ทผ์ GUI desktop์ ์ด์ฉํด ์ฝ๊ฒ ํ ์๋ ์๋ค. ๊ฐ์ง๋๊ฒ CLI๋ฅผ ์ด์ฉํ์.
>> docker pull {์ด๋ฏธ์ง๋ช
}:{ํ๊ทธ} # 1. ์ผ๋จ dockerhub ์ด๋๊ฐ์ ์๋ ์ด๋ฏธ์ง๋ฅผ ์ด๋ฏธ์ง ๋ช
๊ณผ ํ๊ทธ๋ก ๊ฐ์ ธ์จ๋ค.
>> docker images # ์ปดํจํฐ ๋ด ๋์ปค ์ด๋ฏธ์ง๋ค์ ํ์ธํ ์ ์๋ค.
#๊ฒฐ๊ณผ
ubuntu@ip-172-31-39-245:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
karxxxxx/mone 00 ddxxx024de4f 13 hours ago 772MB
python latest 254d4xxx8f31 7 days ago 885MB
ubuntu 16.04 818xxx1cd5ad 5 weeks ago 132MB
django latest eb40dcf6xx78 4 years ago 436MB
>> docker create -it {์ด๋ฏธ์ง๋ช
}:{ํ๊ทธ} # 2. ๋์ปค์ด๋ฏธ์ง๋ฅผ ์ปจํ
์ด๋๋ก ์์ฑํ๋ค.
>> docker start {์ปจํ
์ด๋ id ๋๋ ์ด๋ฆ} # 3. ์ปจํ
์ด๋๋ฅผ ์์ํ๋ค.
>> docker attach {์ปจํ
์ด๋ id ๋๋ ์ด๋ฆ} # 4. ์ปจํ
์ด๋๋ก ๋ค์ด๊ฐ๊ธฐ!
>> docker run -it {์ด๋ฏธ์ง๋ช
}:{ํ๊ทธ} # ์ 1, 2, 3, 4 ๋ฅผ ํ๋ฒ์ ์งํํ๋ ์ปค๋งจ๋
>> docker ps # ๋์ ์ค์ธ ์ปจํ
์ด๋ ํ์ธํ๊ธฐ
์ฐธ๊ณ ๋ก -it ์ต์ ์ ์ปจํ ์ด๋๋ก ๋ค์ด๊ฐ์ ๋, bash๋ก CLI ์ ์ถ๋ ฅ์ ์ฌ์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ํจ.
์ ๊ณผ์ ์ ํตํด ์ฐ๋ฆฌ๋ ๊ฐ์์ ํ๊ฒฝ์ ํ๋ ์คํํ ์ ์๊ฒ ๋์๊ณ , ์ด์ ์ด ์์์ ํ์ผ์ ์์ ํด๋ณด์.
์ผ๋จ ํ ์คํธ๋ฅผ ํ๊ธฐ ์ํด ์๋ฒ๋ฅผ ํ๋ ๋๋ ค์ ์์ผ๋ก ๋จ์ Task ๋ค์ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ค๋นํด๋ณด์.
>> docker run -it [์ด๋ฏธ์ง ์์ด๋] # ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด,
## ํน์
>> docker start [์ปจํ
์ด๋ ์์ด๋] # ์ปจํ
์ด๋๊ฐ ๊บผ์ ธ ์๋ค๋ฉด,
>> docker attach [์ปจํ
์ด๋ ์์ด๋] # ์ผ์ ธ ์๋ ์ปจํ
์ด๋์ ์ ์ํ๋ค๋ฉด,
์ด ๋, run์ ํ๋ฉด ๊ฐ์ ์ด๋ฏธ์ง์ ๋ค๋ฅธ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๋ฏ๋ก ์ฃผ์ํด์ผํ๋ค.(์ข์ธก ์๋จ 2๊ฐ์ โdd3โ)
github์ repo ํ๋๋ฅผ ๋ง๋ค์ด์ clone, ๋ง์ฝ docker ํ๊ฒฝ์ ๊น์ด ์์ผ๋ฉด ์ค์น๋ฅผ ํด์ผํ๋ค.
>> root@620a89368594:/\# cd home
>> root@620a89368594:/\# git clone https://github.com/sunio00000/DockerNamu # clone
>> root@620a89368594:/\# vim new.py # ์ด๋ ๊ฒ ํ ์๋ ์์ง๋ง...
>> root@7df4751c1e80:/\# git push # add, commit ๋คํ๊ตฌ ํธ์ฌํธ ์ฌ
์ด๋ ๊ฒ vsc ๋ฅผ ํตํด docker์ ํ์ผ์ ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ฐฐ์ธ ์ ์์๋ค. ๋๋ฌด๋ ๊ฐ๋จํ ๋ด์ฉ์ด์ง๋ง ํฌ์คํ ์ ํ๋ค๋ณด๋ docker๋ ์ด๋ฐ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ์ ๋ชฉ์ ๋ฟ ์๋๋ผ ๋ฐฐํฌํ๊ฒฝ์ ๋ง๋๋๋ฐ ๋๋ฌด๋ ์ ํฉํ๋ค๋ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๐ก ํฌ์คํ ๊ณผ์ ์์ ๋ช ๊ฐ์ง ์ด์๊ฐ ์๋๋ฐ ๋ค์๊ณผ ๊ฐ๋ค.
์ํํ ์ฝ๋ฉ์ฌ์ docker ๋ช ๋ น์ด
๋ก์ปฌ ๊ฐ๋ฐํ๊ฒฝ ๋์ปค ์ฌ์ฉํ๊ธฐ
๋์ปค๋ก ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
Visual Studio Code / FTP(SFTP)๋ก ์๊ฒฉ ์๋ฒ ์ ์ํ์ฌ ํ์ผ ์์ ํ๋ ๋ฐฉ๋ฒ
vscode ์ docker ์ฐ๋ํ๊ธฐ