๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽ‹ AWS

[ AWS ] AWS๋ž‘ ์นœํ•ด์ง€๊ธฐ - 3 (Docker๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐํฌํ•˜๊ธฐ)

by MuGeon Kim 2023. 4. 7.
๋ฐ˜์‘ํ˜•

 

 

[ AWS ] AWS๋ž‘ ์นœํ•ด์ง€๊ธฐ-1 (AWS EC2 ๊ธฐ๋ณธ ๋ฐฐํฌ)

[ AWS ] ์™œ ๋‚ด๊ฐ€ ๋ฐฑ์—”๋“œ์ธ๋ฐ AWS ํด๋ผ์šฐ๋“œ๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”๊ฐ€? ๋‚ด๊ฐ€ ์™œ AWS๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”๊ฐ€? ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ Spring์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ๋˜๋Š”๋ฐ ์™œ ์ทจ์—…์„ ํ•˜๋ ค๋ฉด AWS๊ฐ€ ํ•„์š”์„ฑ์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐ์„ ํ•˜๊ฒŒ

pos04167.tistory.com

 

1. Docker๋ฅผ AWS ubuntu์— ์„ค์น˜ํ•˜๊ธฐ

//EC2 ์ธ์Šคํ„ด์Šค์— SSH๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.
//์—…๋ฐ์ดํŠธ์™€ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
sudo apt update


//Docker๋ฅผ ์„ค์น˜ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์˜์กด์„ฑ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
sudo apt install apt-transport-https ca-certificates curl software-properties-common

//Docker์˜ ๊ณต์‹ GPG ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

//Docker APT ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

//์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ Docker ํŒจํ‚ค์ง€ ๋ชฉ๋ก์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
sudo apt update

//Docker๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
sudo apt install docker-ce

//Docker ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ณ , ๋ถ€ํŒ… ์‹œ ์ž๋™์œผ๋กœ ์‹œ์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
sudo systemctl start docker
sudo systemctl enable docker

//ํ˜„์žฌ ์‚ฌ์šฉ์ž๋ฅผ "docker" ๊ทธ๋ฃน์— ์ถ”๊ฐ€ํ•˜์—ฌ Docker๋ฅผ ๋ฃจํŠธ ๊ถŒํ•œ ์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
sudo usermod -aG docker $USER

 

2. DockerFile ๋งŒ๋“ค๊ธฐ

vi ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•˜์—ฌ DockerFile์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

# ์ตœ์‹  11-jdk ์ด๋ฏธ์ง€๋กœ ๋ถ€ํ„ฐ ์‹œ์ž‘
FROM openjdk:11-jdk

# ์ธ์ž ์ •๋ฆฌ
ARG JAR_FILE=build/libs/*.jar

# ์•ž์—๋Š” HOST OS์˜ ํ˜„์žฌ ํด๋”๋ฅผ ์˜๋ฏธ
# ๋’ค์—๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ํ˜„์žฌ ํด๋”(WORKDIR)๋ฅผ ์˜๋ฏธ
COPY ${JAR_FILE} app.jar

# docker container์—์„œ ์‹คํ–‰๋˜๋Š” ๋ช…๋ น์–ด
ENTRYPOINT ["java","-jar","/app.jar"]

 

 

# docker image ๋นŒ๋“œ
docker build -t kmg123/docker-test .

# docker image ํ™•์ธ
docker images

# docker run 
docker run -p 8080:8080 kmg123/docker-test

# ์‹คํ–‰๋˜๋Š” docker container ํ™•์ธ
docker ps
# docker exited๋œ containser๊นŒ์ง€ ํ™•์ธ 
docker ps -a

 

๋ฐ˜์‘ํ˜•