์ด์ ํฌ์คํ
[AWS] EC2 ์ธ์คํด์ค์์ Spring Boot์ Docker๋ก ๋ฐฐํฌ
์ด ํฌ์คํ ์์๋ ssh๋ก EC2 ์ธ์คํด์ค์ ์ ์ํ ๋ค์์ ์ด๋ฃจ์ด์ง๋ ๊ฐ๋ฐํ๊ฒฝ ์ธํ ์ ๋ค๋ฃฌ๋ค.ํจํค์ง ์ต์ ํ์ฐ๋ถํฌ ํ๊ฒฝ์ด๋ผ ์๋ ๋ช ๋ น์ด๋ค๋ก ํจํค์ง ๋ชฉ๋ก๊ณผ ํจํค์ง๋ฅผ ์ต์ ํํ๋ค.sudo apt update -ysudo
yaga.tistory.com
์ด ํฌ์คํ ์์๋ Docker-compose๋ก Nginx์ Tomcat์ ๊ฐ๊ฐ ์คํ ์ํจ ํ ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์ ์ผ๋ก Nginx์ Tomcat์ ์ฐ๋ํ๋ ๊ฑธ ๋ค๋ฃฌ๋ค.
docker-compose ์ค์น
docker-compose๋ฅผ ์ค์นํ๋ค.
sudo apt install -y docker-compose
์ด ํฌ์คํ ์์๋ ์๋์ ๊ฐ์ ํด๋ ๊ตฌ์กฐ๋ก ์งํํ๋ค.
Nginx
Dockerfile
์ต์ Nginx ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ nginx.conf ๋ณต์ฌ ๋ค ํฌํธ๋ฅผ 80์ผ๋ก ์ค์
์ด ๋ EXPOSE 80์ ๋ฌธ์ํ์ฉ์ด๋ค.(์ค์ ํฌํธ ์ค์ ๊ณผ๋ ์๊ด์ด ์๋ค.)
nginx.conf
ํ๋ก์ธ์
ํ๋์ ํ๋ก์ธ์ค๋ง ์ฒ๋ฆฌํ๊ณ ๋์ ์ฒ๋ฆฌํ ์ ์๋ ์ฐ๊ฒฐ ์๋ 1024๋ก ์ค์ HTTP ์ค์ ๊ด๋ จ์ 80๋ฒ๋ก ์ค์ , ํ
์คํธ๋๊น server_name์ ๋ก์ปฌ๋ก ์ค์ ํ๋ค.์ค์ํ ๋ถ๋ถ์ proxy_pass์ "http://tomcat:8080"์ tomcat์ docker-compose.yml์์ ์ค์ ํ ์๋น์ค๋ช
๊ณผ ๋์ผํด์ผ ํ๋ค.proxy_set_header๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ ํค๋ ์ ๋ณด๋ฅผ tomcat์ผ๋ก ์ ๋ฌํ๋ค.
Tomcat
Dockerfile
tomcat9๋ฒ์ + jdk21 ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์์ index.jsp๋ฅผ ๋ณต์ฌ ํ ๋ค 8080์ผ๋ก ํฌํธ๋ฅผ ์ค์ ํ๋ค.
index.jsp ๋๋ html
docker-compose.yml
์ฌ๊ธฐ์ Nginx์ tomcat์ ๊ฐ์ด ์ฐ๊ฒฐ์ํจ๋ค.
์ฌ๊ธฐ์ services๋ฐ์ tomcat์ด๋ผ๋ ์๋น์ค๋ช ์ด nginx.conf์ proxy_pass์ ์๋น์ค๋ช ์ด๋ค.
networks๋ฅผ ํตํด nginx์ tomcat์ ํ๋์ ๋คํธ์ํฌ๋ก ๋ฌถ์๊ณ nginx๋ tomcat์ด ์คํ๋ ๋ค ์คํ๋๋๋ก depends_on์ ๊ฑธ์๋ค.
Docker Compose๋ก ์ปจํ ์ด๋ ๋น๋/์คํ
docker-compose-yml์ด ์๋ ๊ฒฝ๋ก๋ก ์ด๋ ํ ์๋ ๋ช ๋ น์ด ์ ๋ ฅ ์ docker-compse.yml ํ์ผ์ ๊ธฐ๋ฐ์ผ๋ก
์ปจํ ์ด๋๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์คํํ๊ณ ๋ง์ผ ์ด๋ฏธ์ง๊ฐ ์์ผ๋ฉด ๋น๋ ํ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ค.
sudo docker-compose up -d --build
์ปจํ ์ด๋๊ฐ ์คํ์ค์ธ์ง ์๋๋ช ๋ น์ด๋ก ํ์ธํ๋ค.
sudo docker ps -a
ํธ์ถ ํ ์คํธ
๋ก์ปฌ ๋ธ๋ผ์ฐ์ ์์ EC2 IP(80 ๊ธฐ๋ณธ ํฌํธ๋ผ์ ์๋ต ๊ฐ๋ฅ)๋ง ์ ๋ ฅํ ๋ค์ ์๋์ฒ๋ผ indexํ์ด์ง๊ฐ ํ์๋์ด์ผ ํ๋ค.
์ ์์ ์ผ๋ก Nginx์ Tomcat์ด ์ฐ๋์ด ๋์๋ค.
๊ฐ์ธ ์คํฐ๋ ๊ธฐ๋ก์ ๋ฉ๋ชจํ๋ ๊ณต๊ฐ์ด๋ผ ํ๋ฆฐ์ ์ด ์์ ์ ์์ต๋๋ค.
ํ๋ฆฐ ์ ์์ ๊ฒฝ์ฐ ๋๊ธ ๋ถํ๋๋ฆฝ๋๋ค.
'IT > DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[AWS] EC2 Nginx Reverse Proxy(feat. Docker compose) (1) | 2025.02.15 |
---|---|
[AWS] AWS RDS ์ธ์คํด์ค ๊ตฌ์ถ (0) | 2025.02.08 |
[AWS] EC2 ์ธ์คํด์ค์์ Spring Boot์ Docker๋ก ๋ฐฐํฌ (0) | 2025.02.08 |
[AWS] EC2 + Docker + RDS๋ก ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์๋ฒ ๋ฐ DB ๊ตฌ์ถ ๊ฐ์ด๋ ๐๐ป๐ฆ (0) | 2025.02.08 |
[git] git revert (40) | 2024.06.06 |
๋๊ธ