π μμ½
μ»΄ν¨ν°λ₯Ό μ¬μ©νλ €λ©΄ μ΅μ΄ μλμ°λ₯Ό μ€μΉν΄μΌ μ¬μ©ν μ μμ.
μλμ° νλ‘κ·Έλ¨μ 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 ...μλ΅