zoaseo
To Infinity And Beyond
zoaseo
전체 방문자
오늘
어제
  • 분류 전체보기 (763)
    • 개발이 좋아서 (381)
      • SAP가 좋아서 (3)
      • Java가 좋아서 (42)
      • Spring이 좋아서 (50)
      • JPA가 좋아서 (0)
      • QueryDSL이 좋아서 (26)
      • Docker가 좋아서 (7)
      • Redis가 좋아서 (7)
      • AWS가 좋아서 (5)
      • CI/CD가 좋아서 (6)
      • Troubleshooting이 좋아서 (4)
      • Kotlin이 좋아서 (7)
      • SQL이 좋아서 (6)
      • HTTP가 좋아서 (21)
      • JavaScript가 좋아서 (30)
      • TypeScript가 좋아서 (6)
      • Vue가 좋아서 (21)
      • Flutter가 좋아서 (61)
      • React가 좋아서 (20)
      • Redux(React)가 좋아서 (2)
      • Angular가 좋아서 (22)
      • HTML이 좋아서 (9)
      • CSS가 좋아서 (15)
      • PHP가 좋아서 (9)
      • Illustrator가 좋아서 (2)
    • 노력이 좋아서 (169)
    • 결과물이 좋아서 (14)
    • 코딩연습이 좋아서 (168)
      • 이론이 좋아서 (62)
      • SQL이 좋아서 (90)
    • 유용한 사이트가 좋아서 (28)
    • Github (2)

인기 글

티스토리

hELLO · Designed By 정상우.
zoaseo
개발이 좋아서/Docker가 좋아서

AWS EC2에서 Docker를 활용해 배포해보기

AWS EC2에서 Docker를 활용해 배포해보기
개발이 좋아서/Docker가 좋아서

AWS EC2에서 Docker를 활용해 배포해보기

2025. 1. 23. 17:15
$ sudo apt-get update && \
	sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && \
	curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
	sudo apt-key fingerprint 0EBFCD88 && \
	sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
	sudo apt-get update && \
	sudo apt-get install -y docker-ce && \
	sudo usermod -aG docker ubuntu && \
	newgrp docker && \
	sudo curl -L "https://github.com/docker/compose/releases/download/2.27.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && \
	sudo chmod +x /usr/local/bin/docker-compose && \
	sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

- Ubuntu에서 Docker, Docker Compose 설치하기

 

$ docker -v # Docker 버전 확인
$ docker compose version # Docker Compose 버전 확인

- 잘 설치 되었는지 확인

 

AWS ECR(Elastic Container Registry) - Dockerhub와 동일한 역할을 한다.

- 최근에는 AWS 클라우드 환경에서 인프라를 구축하는 일이 많아졌다. AWS ECR을 사용하면 다른 AWS Resource와의 연동이 편하고, AWS 내에서 한번에 관리할 수 있기에 편하다는 장점이 있다. (Dockerhub를 사용해도 크게 문제는 없다.)

 

AWS CLI 설치

https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

 

최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface

이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이

docs.aws.amazon.com

 

- 맥(Mac OS)

$ brew install awscli
$ aws --version # 잘 출력된다면 정상 설치된 상태

 

 

- 윈도우(Windows)

$ aws --version # 잘 출력된다면 정상 설치된 상태

 

 

- 우분투(Ubuntu)

$ sudo apt install unzip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install
$ aws --version # 잘 출력된다면 정상 설치된 상태

 

 

IAM 생성하기 (AWS 참고)

1. IAM에서 사용자 생성하기

2. Access Key 발급받기

3. AWS CLI로 액세스 키 등록하기

$ aws configure
AWS Access Key ID [None]: <위에서 발급한 Key id>
AWS Secret Access Key [None]: <위에서 발급한 Secret Access Key>
Default region name [None]: ap-northeast-2
Default output format [None]:

 

 

AWS ECR(Elastic Container Registry) 셋팅하기

 

 

이미지 빌드해서 AWS ECR에 Push, Pull 해보기

 

1. Dockerfile 작성하기

FROM openjdk:17-jdk

ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]

 

2. 이미지 빌드 및 push 하기

AWS ECR에 들어가서 푸시 명령 보기를 누르면 된다.

$ aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com
$ docker build -t instagram-server .
$ docker tag instagram-server:latest 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest
$ docker push 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server:latest

 

3. 이미지 Pull 받아보기

$ docker image rm -f [Container ID] # 기존 갖고있던 이미지 지우기
$ docker pull 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server
$ docker image ls

- 002177417362.dkr.ecr.ap-northeast-2.amazonaws.com/instagram-server - 이 값이 이미지 이름이 된다.

'개발이 좋아서 > Docker가 좋아서' 카테고리의 다른 글

Docker Compose를 활용해 2개 이상의 컨테이너 관리하기  (1) 2025.01.23
Docker Compose를 활용해 컨테이너 관리하기  (0) 2025.01.23
Dockerfile 활용해 이미지 직접 만들기  (0) 2025.01.23
Docker Volume(도커 볼륨)을 활용해 데이터 유실 방지하기  (0) 2025.01.22
Docker CLI 익히기  (0) 2025.01.22

    티스토리툴바

    개인정보

    • 티스토리 홈
    • 포럼
    • 로그인

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.