
๐ ์์ฝ
์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ต์ด ์๋์ฐ๋ฅผ ์ค์นํด์ผ ์ฌ์ฉํ ์ ์์.
์๋์ฐ ํ๋ก๊ทธ๋จ์ OS(Operating System) ๋ผ๊ณ ํ๊ณ ์ด์์ฒด์ ๋ผ๊ณ ํจ.
์ด์์ฒด์ ๋ ํค๋ณด๋, ๋ง์ฐ์ค, ์์
, ๋์์ ๋ฑ์ ํ๊ฒฝ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ S/W ๋ก ์ต์ด๋ก ์ค์น๋์ด์ผ ํจ.
์ด์์ฒด์ ์ ์ข
๋ฅ๋ ์๋์ฐ(Window), ๋ฆฌ๋
์ค(Linux), ์ ๋์ค(Unix)๊ฐ ์์ผ๋ฉฐ ์ฃผ๋ก ๊ฐ์ธ์ฉ์ผ๋ก ์๋์ฐ๋ฅผ ์ฌ์ฉํ๊ณ ํ์ฌ์์๋ ๋ฆฌ๋
์ค ๋๋ ์ ๋์ค๊ฐ ์ฌ์ฉ๋จ
์์ ๊ธฐ์ :
– Basic : ๋ฆฌ๋ ์ค
๐ ๊ธฐ์ ๊ตฌํ
์คํ :
- docker desktop
๐ ์ปจํ ์ด๋์ ๋คํธ์ํฌ
๋ฐฐํฌ : ์์ค ์์ฑ(ํตํฉํ ์คํธ(ํ๋ฉดํ ์คํธ)) -> ๊ณ ์
์์ฑ๋ณธ ํด๋(๋๋ ํ ๋ฆฌ) : ๋ฐฐํฌ๋ณธ ์์ค ๊ด๋ฆฌ
1) ๋ฐฐํฌ ์ ์ฐจ
1) ํ๋ก ํธ์ํธ ๋ฐฐํฌ : vue ์์ ๋ฐฐํฌ ์ ์ฐจ -> ์ด๋ค ํ์ผ
2) ๋ฒก์๋ ๋ฐฐํฌ : springboot ์์ ๋ฐฐํฌ ์ ์ฐจ -> .war ํ์ผ
3) ํด๋ผ์ฐ๋ ์ค๋ผํด DB ์ฌ์ฉ : ์ ์์ง๊ฐ(wallet)
1) ํ๋ก ํธ์๋ ๋ฐฐํฌ
(1) ํ๋ก ํธ์๋ ๋ฐฐํฌํ ๋ง๋ค๊ธฐ
์ฌ์ฉ๋ฒ) npm run build
build ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋จ : ์์ ์์ค๊ฐ ๋ทฐ ๋ฐฐํฌํ์
2) ๋ฒก์๋ ๋ฐฐํฌํ ๋ง๋ค๊ธฐ
์ฌ์ฉ๋ฒ) gradle(๋น๋ํด) ๋ฉ๋ด -> build ์ ํ -> clean(์ฒญ์)
-> bootwar(๋ฐฐํฌํ์์ฑ)
build/libs/xxx.war (springboot ๋ฐฐํฌํ)
3) ์น์๋ฒ ์ค๋น : ๋์ปค์ด๋ฏธ์ง(์ํ์น ์น์๋ฒ, nginx ์น์๋ฒ)
์น์๋ฒ : html/css/js ํ์ผ ์๋ฒ์์ ๋์์ํค๋ s/w
์) live server ์ ๋น์ท
์ค์ต : nginx ์น์๋ฒ ์ฌ์ฉ
ํ๊ฒฝํ์ผ : default.conf (์น์๋ฒ ์์ค ๋ฐฐํฌ ๊ฒฝ๋ก ์ง์ )
default.conf ์ปจํ ์ด๋์ nginx ๊ฒฝ๋ก์ ๋ณต์ฌ
a) ํด๋(๋๋ ํ ๋ฆฌ) ๋ง๋ค๊ธฐ :
– 02_micro_deploy/backend
– 02_micro_deploy/webapps/conf/conf.d/default.conf
– 02_micro_deploy/webapps/html
b) 02_micro_deploy/webapps/html ํด๋์ ๋ฆฌ์กํธ ๋ฐฐํฌํ ๋ณต์ฌ
4) ํ๋ก ํธ์ํธ ๋น๋ํ์ผ ๋ง๋ค๊ธฐ : Dockerfile
๋์ปค ๋น๋ ๋ช ๋ น์ด
FROM ์ด๋ฏธ์ง๋ช :ํ๊ทธ – ๋์ ๊ธฐ๋ณธ์ด๋ฏธ์ง๋ก S/W ์ด๋ฏธ์ง ์ ์
COPY ์๋ณธํ์ผ ์ปจํ ์ด๋ํ์ผ – PC ํ์ผ์ ์ปจํ ์ด๋๋ก ๋ณต์ฌ
CMD [“๋ช ๋ น์ด”,”์ต์ ”,”๋์ํ์ผ”] – ์ปจํ ์ด๋ ์ ์ ์คํ ํ ์ง์๋ ๋ช ๋ น์ด๋ก ์คํํจ
EXPOSE ํฌํธ – ์ธ๋ถ PC์์ ๋์ปค์ปจํ ์ด๋ ์ ๊ทผ์ ์ฌ์ฉํ๋ ํฌํธ ์ง์ (3000, 8000 ๋ฑ)
๊ทธ ์ธ ๋ง์ ๋ช ๋ น์ด๊ฐ ์์ผ๋ ์ฑ ์ด๋ ๋งค๋ด์ผ, ๊ตฌ๊ธ์ ์ด์ฉํ์ธ์
5) ๋์ปค ๋น๋ ์คํ
์ฌ์ฉ๋ฒ) docker build -t ์์ฑํ ์ด๋ฏธ์ง๋ช :ํ๊ทธ
Dockerfile ์์ฑ
์ด๋ฏธ์ง ์ ํ : os(๋ฆฌ๋ ์ค) + nginx
FROM nginx:1.23.3
nginx(์น์๋ฒ) ์ ๊ธฐ๋ณธ ์ค์ ์ญ์ ํ๊ณ pc์์ ์ค์ ์ ํ์ผ ๋ณต์ฌ
RUN rm -rf /etc/nginx/conf.d
pc ์น์๋ฒ ํ๊ฒฝํ์ผ ์ปจํ ์ด๋์ ๋ณต์ฌ
COPY conf /etc/nginx
๋ฆฌ์กํธ ์์ค ๋ฐฐํฌ ๋ฐ ๋ณต์ฌ
COPY html /usr/share/nginx/html
3000 ํฌํธ ๊ฐ๋ฐฉ(์ธ๋ถ ์ ์ ํ์ฉ) : ๋ฆฌ์กํธ ํฌํธ
EXPOSE 3000
์ปจํ ์ด๋ ๋ด๋ถ nginx ์น์๋ฒ ์คํ
CMD ["nginx", "-g", "daemon off;"]
6) ๋์ปค ๋น๋
์ฌ์ฉ๋ฒ) docker build -t ์์ฑํ ์ด๋ฏธ์ง๋ช :ํ๊ทธ .
docker build -t frontend-react:latest .
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\webapps>docker build -t frontend-react:latest . Sending build context to Docker daemon 1.154MB Step 1/6 : FROM nginx:1.23.3 ---> ac232364af84 ...์๋ต
7) ์ด๋ฏธ์ง ์์ฑ ํ์ธ
docker images
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\webapps>docker images REPOSITORY TAG IMAGE ID CREATED SIZE frontend-react latest a0f625cd5920 4 minutes ago 143MB hello2 latest 442070c993ca 4 hours ago 109MB
8) frontend ์ปจํ ์ด๋ ์คํ
์ฌ์ฉ๋ฒ) docker run -it –name ์ปจํ ์ด๋๋ณ๋ช -p pcํฌํธ:์ปจํ ์ด๋ํฌํธ ์ด๋ฏธ์ง๋ช :ํ๊ทธ
-p ์ธ๋ถํฌํธ:์ปจํ ์ด๋ํฌํธ : ์ธ๋ถ์์ ์ปจํ ์ด๋๋ก ์ ์์ ์ํ ํฌํธ๋ฒํธ
docker run -it –name frontend-react -p 3000:3000 frontend-react
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\webapps>docker run -it --name frontend -p 3000:3000 frontend /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration ...์๋ต
9) ์น๋ธ๋ผ์ฐ์ : http://localhost:3000
10) ๋ฒก์๋ ๋ฐฐํฌ
๊ณ ๋ ค๋์) DB ํด๋ผ์ฐ๋ ์ ์์ง๊ฐ ํด๋ :
์ปจํ ์ด๋ ์์๊ฒฝ๋ก : /home/opc/work/eWallet/Wallet_orcl/
(1) springboot ์์ค : application.properties ํ์ผ
url : /home/opc/work/eWallet/Wallet_orcl/ ์์
(2) ๋ฒก์๋ ๋์ปค ํ์ผ ์์ฑ : Dockerfile
๊ธฐ๋ณธ์ด๋ฏธ์ง : openjdk 11 ๋ฒ์ + ๋ฆฌ๋ ์ค
FROM openjdk:11-jre
์ค๋ผํด ์ ์์ง๊ฐ ํ์ผ ๋ณต์ฌ : Wallet_orcl
COPY Wallet_orcl /home/opc/work/eWallet/Wallet_orcl/
springboot ๋ฐฐํฌํ ๋ณต์ฌ
COPY simpledms-boot.war simpledms-boot.war
์ปจํ ์ด๋ ๊ฐ๋ ํ ์คํํ ๋ช ๋ น์ด
CMD ["java", "-jar", "simpledms-boot.war"]
11) ๋์ปค ๋น๋ ๋ช ๋ น์ด ์คํ
์ฌ์ฉ๋ฒ) docker build -t ์์ฑํ ์ด๋ฏธ์ง๋ช :ํ๊ทธ .
docker build -t simpledms .
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\backend>docker build -t simpledms . Sending build context to Docker daemon 44.27MB Step 1/4 : FROM openjdk:11-jre ...์๋ต
docker images
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\backend>docker images REPOSITORY TAG IMAGE ID CREATED SIZE simpledms latest bcd4c3ec9ba8 25 ...์๋ต
12) ๋ฒก์๋ ์คํ : docker run
์ฌ์ฉ๋ฒ) docker run -it –name ๋ณ๋ช -p ์ธ๋ถํฌํธ:๋ด๋ถํฌํธ -p ์ธ๋ถํฌํธ2:๋ด๋ถํฌํธ2 ์ด๋ฏธ์ง๋ช :ํ๊ทธ
-p ์ธ๋ถํฌํธ:๋ด๋ถํฌํธ … : ๊ฐ๋ฐฉ ํฌํธ๋ ์ฌ๋ฌ๊ฐ ์ง์ ํ ์ ์์
docker run -it –name simpledms -p 8000:8000 -p 1521:1521 simpledms
D:\Work_AWS_Docker_Microservice_Step04_Docker_1_simpledms_micro_SimpleDMS_Dockerizing_micro_deploy\backend>docker run -it --name simpledms -p 8000:8000 -p 1521:1521 simpledms 09:06:26,338 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@69930714 - URL [jar:file:/simpledms-boot ...์๋ต