[Spring boot] ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ Jar ํ์ผ๋ก Docker ์ด๋ฏธ์ง ์์ฑํ๊ธฐ
์คํ๋ง ๋ถํธ ํ๋ก์ ํธ Docker ์ด๋ฏธ์ง ๋น๋
Spring boot ํ๋ก์ ํธ๋ฅผ ์์ฑํ ํ ํ๋ก์ ํธ jar ํ์ผ์ ํตํด ๋์ปค ์ปจํ ์ด๋๋ฅผ ๋์ฐ๊ธฐ ์ํด ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. pom.xml ํ์ผ ์์ฑ
<build> ํ๊ทธ ์์ <finalName> ํ๊ทธ๋ฅผ ์ถ๊ฐํ๊ณ , ์์ฑํ 'ํ๋ก์ ํธ jar ํ์ผ'์ ์ด๋ฆ์ ํ์ฅ์ ์์ด ์ถ๊ฐํด์ค๋ค.
2. Dockerfile ์์ฑ
ํ๋ก์ ํธ ํด๋ ๋ด ์ต์์ ๊ฒฝ๋ก์ "Dockerfile"์ด๋ผ๋ ์ด๋ฆ์ ํ์ผ์ ์์ฑํ๋ค.
ํฌํธ ๋ฒํธ๋ application.properties ํ์ผ์์ ํ์ธ ๊ฐ๋ฅํ๋ค.
ENTRYPOINT ๋ณ์์ ๋ด์ ๋ช ๋ น์ด ์ธ์์ ๋ง์ง๋ง์๋ pom.xml์ ์์ฑํ๋ ํ๋ก์ ํธ jar ํ์ผ์ ๊ฒฝ๋ก์ ํ์ผ๋ช ์ ๋ฃ๋๋ค.
3. Jar ํ์ผ ์์ฑ
์ผ์ชฝ ํธ๋ฆฌ์์ ํ๋ก์ ํธ๋ฅผ ์ฐํด๋ฆญํ๊ณ Run as>Maven install ํด๋ฆญํ๋ค. jar ํ์ผ ์์ฑ์ ํ์ธํ๋ค.
4. Docker toolbox ์ค์น
Docker ํฐ๋ฏธ๋ ์ด์ฉ์ ์ํด toolbox ์ค์นํ๋ค. (์ค์น๊ณผ์ ์ ์ธํ ๊ฐ์ ๋๋ถ๋ถ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ํด์ฃผ๋ฉด ๋๋ค)
https://github.com/docker/toolbox/releases/tag/v19.03.1
Release v19.03.1 · docker/toolbox
Please ensure that your system has all of the latest updates before attempting the installation. In some cases, this will require a reboot. If you run into issues creating VMs, you may need to un...
github.com
(์๋ฌ ๋ฐฉ์ง1) DOCKER ๊ด๋ จ ์์คํ ํ๊ฒฝ ๋ณ์ ์ถ๊ฐ
(์๋ฌ ๋ฐฉ์ง2) ์ ์ดํ ํ๋ก๊ทธ๋จ ๊ธฐ๋ฅ ๋๊ธฐ : Hyper-V ์ฒดํฌ ํด์
docker toolbox install ํ ์ค์น๋ 3๊ฐ์ ํ๋ก๊ทธ๋จ ์ค Docker quickstart terminal ์คํํ๋ค.
ํ์ฐธ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ํฐ๋ฏธ๋ ์ฐฝ์ด ์ด๋ฆฐ๋ค.
โผ ์คํ๋ง๋ถํธ ํ๋ก์ ํธ๊ฐ ์์นํ ๊ฒฝ๋ก๋ก ์ด๋ํ ํ, ๋ค์ ๋ช ๋ น ์ ๋ ฅํ๋ค. (๋ง์ง๋ง์ ์จ์ ํ์)
$ docker build -t [์์ฑํjarํ์ผ๋ช
].jar .
โผ ์๋ ๋ช ๋ น์ผ๋ก ์ด๋ฏธ์ง ์์ฑ์ ํ์ธํ๋ค.
$ docker image ls
Spring boot ํ๋ก์ ํธ์์ jar ํ์ผ์ ๋ง๋ค์ด ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋น๋ํด๋ณด์์ต๋๋ค.