๊ธฐ์กด ๋ธ๋ก๊ทธ์ ํฌ์คํ ํ๋ ํ ์คํธ์ฉ Express ์ฑ์
Git Repository(๊น ์๊ฒฉ ์ ์ฅ์)์ ์ฐ๊ฒฐ ํ ํด๋น ํ๋ก์ ํธ๋ฅผ
WLS2 ์ฐ๋ถํฌ ํ๊ฒฝ์์ ํด๋น ํ๋ก์ ํธ clone ํ ๋์ปค ํ์ผ ๋น๋ ์งํ
Express ์๋ฒ ๊ตฌ์ถ : https://coding-gym.tistory.com/entry/Nodejs-Express-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95?category=1127022
[Node.js] Express ์๋ฒ ๊ตฌ์ถ
[ Express ์๋ฒ ๊ตฌ์ถ ] 1. ํ๋ก์ ํธ ํด๋ ์์ฑ ๋ฐ ์ด๋ $ mkdir $ cd 2. npm init ๋ช ๋ น์ ํตํด npm ํจํค์ง ์ด๊ธฐํ(package.json ์์ฑ) $ npm init 3. npm install ๋ช ๋ น์ ํตํด Express.js ํ๋ ์์ํฌ ์ค์น # --save ์ต์ ๋ถ์ผ
coding-gym.tistory.com
Git ์๊ฒฉ ์ ์ฅ์ ์ฐ๊ฒฐ : https://coding-gym.tistory.com/entry/Git-Git-%EC%9B%90%EA%B2%A9-Repository-%EC%83%9D%EC%84%B1-%EB%B0%8F-%EB%A1%9C%EC%BB%AC-Repository-%EC%97%B0%EA%B2%B0
[Git] Git ์๊ฒฉ Repository ์์ฑ ๋ฐ ๋ก์ปฌ Repository ์ฐ๊ฒฐ
[ ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ ์์ฑ ] GitHub GitHub: Let’s build from here GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, t
coding-gym.tistory.com
[ ๋น๊ณต๊ฐ ๊น ์๊ฒฉ ์ ์ฅ์(Private Git Remote Repository) ํ ํฐ ์์ฑ ๋ฐ ๊ถํ ๋ถ์ฌ ]
- ์ด์ ๋ธ๋ก๊ทธ ํฌ์คํ ์ ํตํด ์์ฑํ๋ Express ์ฑ์ด ์ ์ฅ๋์ด ์๋
์๊ฒฉ ๊น ์ ์ฅ์์์ ํด๋น ํ๋ก์ ํธ๋ฅผ clone
(์ด ๋ ํด๋น ํ๋ก์ ํธ๊ฐ private์ผ ๊ฒฝ์ฐ ํ ํฐ ์์ฑ ๋ฐ ๊ถํ ๋ถ์ฌ ๊ณผ์ ํ์)
1. ๋ณธ์ธ ๊นํ๋ธ ๊ณ์ ์ ๋ก๊ทธ์ธ ํ ์ฐ์ธก ์๋จ์ ์ค์ ํ์ด์ง๋ก ์ ์
2. ์ข์ธก ํ๋จ์ 'Developer settings' ํด๋ฆญ ํ 'Personal access tokens(classic) ํด๋ฆญ'
3. Generate new token(classic) ๋ฒํผ ํด๋ฆญ → ๋ก๊ทธ์ธ → ์ต์ ์ค์ ํ
ํ๋จ์ 'Genarate token' ๋ฒํผ์ ํด๋ฆญํ์ฌ ํ ํฐ ์์ฑ
- ํ ํฐ๋ช ์ค์ ๋ฐ ๊ถํ ๋ถ์ฌ
- ํ์ ์ํฉ๊ณผ ์ต์ ์ ๋ฐ๋ผ ๊ถํ ๋ถ์ฌ
(repo, workflow, write:packages, gist, notifications, user, write:discussion)
4. ์์ฑ ์๋ฃ๋ ํ ํฐ ๊ฐ์ ๊ฐ์ธ์ด ๋ฐ๋ก ๋น๊ณต๊ฐ๋ก ๋ณด๊ด
[ ๊น ์๊ฒฉ ์ ์ฅ์ clone ]
1. WSL2๋ฅผ ํตํด ์ฐ๋ถํฌ ํ๊ฒฝ์ ์ ์
2. git clone ๋ช ๋ น์ ํตํด ๋น๊ณต๊ฐ ์๊ฒฉ ๊น ์ ์ฅ์ clone
(WSL ํฐ๋ฏธ๋์์ ๋ถ์ฌ๋ฃ๊ธฐ ์ Ctrl + Shift + v)
3. Username ์ ๋ ฅ
=> Username for 'https://github.com': <๋ณธ์ธ ๊นํ๋ธ ์ ์ ๋ช >
=> Password for 'https://<๋ณธ์ธ ๊นํ๋ธ ์ ์ ๋ช >@github.com': <์์์ ๋ฐ๊ธํ ํ ํฐ ๊ฐ>
$ git clone <Git URL>
// ํน์ ๋ธ๋์น๋ฅผ ํด๋ก ํ ๊ฒฝ์ฐ
$ git clone -b <๋ธ๋์น๋ช
> --single-branch <Git URL>
4. npm install ๋ช ๋ น์ ํตํด Node.js ์ข ์์ฑ ์ค์น
/*
*ํ๋ก์ ํธ package-json์ ๋ช
์ ๋์ด ์๋
* Node.js ์ข
์์ฑ ํ์ผ๋ค(node_modules) ์ค์น
*/
$ npm install
[ Docker ํ์ผ ์์ฑ ]
- Dockerfile : ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ์คํฌ๋ฆฝํธ ํ์ผ๋ก์จ
๋ฒ ์ด์ค ์ด๋ฏธ์ง์ ์ ์ฅ์, ์ค์นํ ํจํค์ง, ์ฑ ์ฝ๋ ๋ฐ ์ค์ ํ์ผ,
์ปจํ ์ด๋ ๋์ ์ ์คํ ๋ ๋ช ๋ น์ด ๋ด์ฉ๋ฑ์ ๋ด๊ณ ์์
- Dockerfile [์ต์ ]
1. FROM : Docker Base Image(๊ธฐ๋ฐ์ด ๋๋ ์ด๋ฏธ์ง, <์ด๋ฏธ์ง๋ช >:<ํ๊ทธ> ํ์)
2. MAINTAINER : ์์ฑ์ ์ ๋ณด
3. RUN : Shell Script ๋๋ ๋ช ๋ น ์คํ
4. CMD : ์ปจํ ์ด๋๊ฐ ์คํ๋ ๊ฒฝ์ฐ ํด๋น ๋ช ๋ น ์คํ
5. LABEL : ๋ผ๋ฒจ ์์ฑ
6. EXPOSE : ํธ์คํธ์ ์ฐ๊ฒฐํ ํฌํธ ๋ฒํธ ์ค์
7. ENV : ํ๊ฒฝ๋ณ์ ์ค์
8. ADD : ํ์ผ / ๋๋ ํ ๋ฆฌ ์ถ๊ฐ
9. COPY : ํ์ผ ๋ณต์ฌ
10. ENTRYPOINT : ์ปจํ ์ด๋๊ฐ ์์๋์์ ๋ ํด๋น ์คํฌ๋ฆฝํธ ์คํ
11. VOLUME : ๋ณผ๋ฅจ ๋ง์ดํธ
12. USER : ๋ช ๋ น ์คํ ์ฌ์ฉ์ ๊ถํ ์ง์
13. WORKDIR : 'RUN', 'CMD', 'ENTRYPOINT' ๋ฑ ๋ช ๋ น์ด ์คํ๋ ์์ ๋๋ ํ ๋ฆฌ
14. ARG : Dockerfile ๋ด๋ถ ๋ณ์ ์ง์
15. ONBUILD : ๋ค๋ฅธ ์ด๋ฏธ์ง์ Base Image๋ก ์ฐ์ผ ๊ฒฝ์ฐ ์คํ๋ ๋ช ๋ น ์ํ
16. SHELL : Default Shell ์ง์
- ์ฑ ํ๋ก์ ํธ ๊ฒฝ๋ก๋ก ์ด๋ํ์ฌ Dockerfile ์์ฑ ๋ฐ ์คํฌ๋ฆฝํธ ๋ด์ฉ ์์ฑ
- Docker ๋น๋ ์ RUN ์ปค๋งจ๋ ์คํ ์๊ฑด์ ๊ฒฝ์ฐ
1. ์ต์ด ๋น๋์ ๊ฒฝ์ฐ RUN ๋ช ๋ น์ด ๋ฐ๋์ ์คํ
2. ์ฌ๋น๋์ธ ๊ฒฝ์ฐ COPY๋ ์์ค์ฝ๋ ํ์ผ ์ค ๋ณ๊ฒฝ์ฌํญ์ด ํ๋๋ผ๋ ์์ ๊ฒฝ์ฐ ์คํ
๋ง์ฝ ์ข ์์ฑ ํ์ผ๋ค์ ๋ณํ๊ฐ ์์ ๊ฒฝ์ฐ ๊ตณ์ด npm install์ ๋๋ฒ ์ํํ ํ์๊ฐ ์์ผ๋ฏ๋ก
COPY ๋ถ๋ถ์ ๋ ๊ฐ๋ก ๋๋์ด์ ์งํ
[ Docker ํ์ผ ๋น๋ ]
- ํด๋น Dockerfile์ด ์กด์ฌํ๋ ํ๋ก์ ํธ ๊ฒฝ๋ก์์ ๋ช ๋ น์ด ์ฌ์ฉ
// docker build -t <์ด๋ฏธ์ง๋ช
><ํ๊ทธ๋ช
> <์ด๋ฏธ์ง ์์ฑ ์์น>
$ docker build -t express_test .
[ ์์ฑ ์ด๋ฏธ์ง ์ปจํ ์ด๋ ์คํ ]
// ์ปจํ
์ด๋ ์์ฑ ๋ฐ ํฌํธ ์ฐ๊ฒฐ, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
$ docker run -d -p 5000:3000 express_test
์ฐธ๊ณ : https://narup.tistory.com/206
[Dockerfile] Dockerfile express ์ฐ๋ํ๊ธฐ
dockerfile์ ์ด์ฉํด์ node.js ๊ธฐ๋ฐ, express๋ก ๊ตฌํํ ์น ์๋ฒ๋ฅผ docker์ ์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ํ ์คํธํด๋ณด๊ฒ ์ต๋๋ค. ๋จผ์ ์ ์ฒด์ ์ธ ํ์ผ์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ์ต๋๋ค. ํ ์คํธํ ์ด์์ฒด์ ๋ window 10 ํ๊ฒฝ์ ๋๋ค!
narup.tistory.com
์ฐธ๊ณ : https://narup.tistory.com/204
[Dockerfile] Dockerfile์ด๋? Dockerfile ์ต์
Dockerfile์ ์ธํ๋ผ ๊ตฌ์ฑ์ ํจ์์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํ ํ์ผ๋ก, ์ ํ์ผ๊ณผ ๋น์ทํ dockerfile์ ์์ฑํด์ ํด๋น ๋์ปค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉ์์ ํ๊ฒฝ์ ๋ง์ถฐ์ ์ด์ํ ์ ์๋๋ก ํฉ๋๋ค. ์ ๋์ปค ํ์ผ์ buildํ
narup.tistory.com
์ฐธ๊ณ : https://velog.io/@pinion7/%EB%8F%84%EC%BB%A4-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%83%9D%EC%84%B1%ED%95%B4%EB%B3%B4%EA%B8%B0-2%ED%8E%B8feat.-Node.js-Dockerfile
๋์ปค ์ด๋ฏธ์ง ์์ฑํด๋ณด๊ธฐ 2ํธ(feat. Node.js, Dockerfile)
- ๋์ปค ํ๊ฒฝ์์ ์ฑ์ ์คํํ๊ธฐ ์ํด ํ์ํ ๊ฒ์ด ๋ฌด์์ธ์ง ์ดํดํ๋ค. - Dockerfile ์์ฑ ์์ ํ์ฉ๋ ์ ์๋ ์๋ก์ด ํค์๋๋ค๊ณผ ๋์ ํ๋ฆ์ ๋ํด ์ดํดํ๋ค. - ์ฑ ์์ค์ฝ๋ ๋ณ๊ฒฝ ์ ์ฌ๋น๋๋ฅผ ํจ์จ
velog.io