๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Programming/Docker & Kubernetes

[Docker] (11) ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์™€ vscode ์—ฐ๋™ํ•˜๊ธฐ | ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ฐœ๋ฐœ

by ๋ญ…์ฆค 2023. 8. 25.
๋ฐ˜์‘ํ˜•
Docker ์ „์ฒด ํฌ์ŠคํŒ…
๋”๋ณด๊ธฐ

[Docker] (1) ๋„์ปค ๊ฐœ๋… ์„ค๋ช… | ๋„์ปค๋Š” ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?

[Docker] (2) ๋„์ปค & ๋„์ปค์ปดํฌ์ฆˆ ๋‹ค์šด๋กœ๋“œ

[Docker] (3) ๋„์ปค ํ•ต์‹ฌ ๊ฐœ๋… - ์ด๋ฏธ์ง€, ์ปจํ…Œ์ด๋„ˆ, ๋„์ปค ํ—ˆ๋ธŒ

[Docker] (4) docker pull(์ด๋ฏธ์ง€ ๋‹ค์šด๋กœ๋“œ) & docker run(์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ/์‹คํ–‰) & ํฌํŠธํฌ์›Œ๋”ฉ(ํฌํŠธ๋งคํ•‘)

[Docker] (5) ๋„์ปค run ๋ช…๋ น์–ด ์˜ต์…˜, ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•

[Docker] (6) ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ์ ‘์†ํ•˜๊ธฐ - docker exec & docker attach

[Docker] (7) ๋„์ปค volume(๋ณผ๋ฅจ) ์˜ต์…˜ - ์ปจํ…Œ์ด๋„ˆ ํด๋”์™€ ํ˜ธ์ŠคํŠธ ํด๋” ์—ฐ๊ฒฐํ•˜๊ธฐ

[Docker] (8) ๋„์ปค commit(์ปค๋ฐ‹) & push(ํ‘ธ์‹œ) - ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒˆ๋กœ์šด ๋„์ปค ์ด๋ฏธ์ง€๋กœ ์ €์žฅํ•˜๊ณ  ๋ ˆํผ์ง€ํ† ๋ฆฌ์— ์—…๋กœ๋“œ

[Docker] (9) Dockerfile(๋„์ปคํŒŒ์ผ) - ์Šค๋งˆํŠธํ•˜๊ฒŒ ๋„์ปค ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•

[Docker] (10) Dockerfile ๋นŒ๋“œ ์˜ˆ์‹œ | ENTRYPOINT ์™€ CMD์˜ ์ฐจ์ด

[Docker] (11) ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์™€ vscode ์—ฐ๋™ํ•˜๊ธฐ | ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ฐœ๋ฐœ

[Docker] (12) ๊นƒํ—ˆ๋ธŒ๋กœ ๋„์ปค ์ด๋ฏธ์ง€ ๊ณต์œ ํ•˜๊ธฐ | Packages Container Registry

 

 

ํ„ฐ๋ฏธ๋„์ด๋‚˜ ๋„์ปค ๋ฐ์Šคํฌํƒ‘์„ ์ด์šฉํ•ด์„œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค. 

 

Vscode์—์„œ ์›๊ฒฉ ์ ‘์†์„ ์œ„ํ•œ extension์„ ์„ค์น˜ํ•˜๋ฉด ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ํŽธํ•˜๊ฒŒ ์ ‘์†ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ๋ฐฉ๋ฒ•์„ ์ถ”์ฒœํ•œ๋‹ค.

 

Vscode Extension ์„ค์น˜

vscode์—์„œ ํ•„์š”ํ•œ extension ์„ค์น˜

์šฐ์„  vscode์—์„œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” vscode extension(ํ™•์žฅ)์—์„œ ํŠน์ • ํ™•์žฅํŒฉ์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

  • vscode๋ฅผ ์ผœ๊ณ  ์ขŒ์ธก์— ํ…ŒํŠธ๋ฆฌ์Šค ์ฒ˜๋Ÿผ ์ƒ๊ธด ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ด์„œ 'remote'๋ผ๊ณ  ๊ฒ€์ƒ‰ ํ›„ 'Remote Development' ์„ค์น˜
  • ํ•ด๋‹น ํŒฉ์—๋Š” WSL, Dev Containers, Remote-SSH, Remote-Tunnels 4๊ฐ€์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ

 

๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

  • ๋„์ปค ๋ฐ์Šคํฌํƒ‘ ๋˜๋Š” ํ„ฐ๋ฏธ๋„์—์„œ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰

 

vscode๋กœ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ ‘์†

๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์›๊ฒฉ ์ ‘์†

 

  • ์ด์ œ vscode ์ขŒ์ธก์—์„œ ์›๊ฒฉํƒ์ƒ‰๊ธฐ๋ฅผ ๋ˆ„๋ฅด๊ณ , ์ƒ๋‹จ์—์„œ '์›๊ฒฉ(ํ„ฐ๋„/SSH)'์™€ '๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ' ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค
  • ์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ์ ‘์†ํ•  ๋ชฉ์ ์ด๋ฏ€๋กœ ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ˆ„๋ฅธ๋‹ค
  • ์ด๋ฏธ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋‹ค๋ฉด ์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ์ ‘์†ํ•  ์ปจํ…Œ์ด๋„ˆ ์šฐ์ธก ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ ‘์†

 

์ ‘์†ํ•œ ์ปจํ…Œ์ด๋„ˆ

  • ์ปจํ…Œ์ด๋„ˆ๋กœ ์ ‘์†ํ•˜๋ฉด vscode๋ฅผ ์ด์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ
  • ์ปจํ…Œ์ด๋„ˆ์— vscode python extension์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์„ค์น˜ํ•˜๋ผ๋Š” ์•ˆ๋‚ด ๋ฌธ๊ตฌ๊ฐ€ ๋œจ๋ฉด ์„ค์น˜ํ•˜๋ฉด ๋จ
๋ฐ˜์‘ํ˜•