[배포] AWS EC2 재가동 및 도커 배포 (4)

2026. 3. 24. 18:21·3. 자습 & 메모(실전, 실습, 프로젝트)/3-3 배포 실전 공부

이 가이드는 중지되었던 AWS 인스턴스를 다시 켜는 단계부터 도커 이미지 빌드까지의 실전 명령어를 담고 있습니다.


1. 로컬 환경 준비 및 서버 접속

먼저 내 컴퓨터(Windows) 터미널에서 AWS 서버로 접속을 시도합니다.

1.1 키 페어 권한 설정 (최초 1회 필수)

윈도우에서 .pem 키의 권한이 너무 열려 있으면 접속이 거부됩니다. 파일이 있는 폴더(C:\Pyg\Memo)에서 아래 명령어를 수행합니다.

icacls "meat-a-eye-key.pem" /inheritance:r
icacls "meat-a-eye-key.pem" /grant:r "%username%":"(R)"

1.2 SSH 접속 실행

AWS 콘솔에서 인스턴스를 [시작]한 후, 할당된 고정 IP로 접속합니다.

ssh -i "meat-a-eye-key.pem" ubuntu@내_고정_IP

2. 서버 네트워크 및 도커 환경 구축

서버 접속 후, 외부 사이트 접속이 안 되는 DNS 문제를 해결하고 도커를 설치합니다.

2.1 DNS 주소 찾기 에러 해결

download.docker.org 등 특정 도메인을 찾지 못할 때 구글 DNS를 강제 지정합니다.

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

2.2 도커(Docker) 설치 (플랜 B 방식)

공식 저장소 이슈를 피해 우분투 공식 패키지로 설치를 진행했습니다.

sudo apt update
sudo apt install -y docker.io

# 도커 서비스 활성화
sudo systemctl start docker
sudo systemctl enable docker

# 사용자 권한 부여 (실행 후 exit로 나갔다 다시 접속해야 적용됨)
sudo usermod -aG docker $USER
exit

3. 프로젝트 소스 코드 및 설정 파일 준비

서버에 우리 프로젝트 코드를 가져오고 도커용 레시피를 만듭니다.

3.1 깃허브 코드 클론

git clone https://github.com/Meat-A-Eye-Ops/Meat-A-Eye-Service.git
cd Meat-A-Eye-Service

3.2 .dockerignore 파일 생성

빌드 시 제외할 목록을 작성합니다.

cat > .dockerignore <<EOF
__pycache__/
*.pyc
venv/
.git/
.env
Meat_A_Eye-frontend/
EOF

3.3 Dockerfile 생성

백엔드와 AI 모델 폴더를 모두 포함하는 빌드 레시피를 작성합니다.

cat > Dockerfile <<EOF
FROM python:3.11-slim

RUN apt-get update && apt-get install -y \\
    libgl1-mesa-glx \\
    libglib2.0-0 \\
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

# 의존성 설치 (CPU용 PyTorch 우선)
COPY Meat_A_Eye-backend/requirements.txt .
RUN pip install --no-cache-dir torch torchvision --index-url https://download.pytorch.org/whl/cpu
RUN pip install --no-cache-dir -r requirements.txt

# 소스 복사 및 경로 설정
COPY Meat_A_Eye-backend/ ./Meat_A_Eye-backend/
COPY Meat_A_Eye-aimodels/ ./Meat_A_Eye-aimodels/
ENV PYTHONPATH=/app/Meat_A_Eye-backend:/app/Meat_A_Eye-aimodels

WORKDIR /app/Meat_A_Eye-backend
EXPOSE 8000

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
EOF

4. 도커 이미지 빌드 실행

모든 준비가 끝났으므로 이미지를 생성합니다.

# meat-a-eye-api 라는 이름으로 빌드 (마지막 점 필수)
docker build -t meat-a-eye-api .

빌드 확인 명령어

docker images

'3. 자습 & 메모(실전, 실습, 프로젝트) > 3-3 배포 실전 공부' 카테고리의 다른 글

[배포] Meat-A-Eye 배포 및 트러블슈팅 진행 기록 (마지막)  (0) 2026.03.27
[배포] 데이터베이스 연결, CORS, 외부 API 보안 연결 문제 (6)  (0) 2026.03.26
[Meat-A-Eye 배포] AWS EC2 서버 구축 및 AI 환경 세팅(3)  (0) 2026.03.13
[배포] AWS RDS 활용 - MySQL DB 구축 및 초기화(2)  (0) 2026.03.11
[개인 공부] "배포" 기본 개념 정리(1)  (0) 2026.03.07
'3. 자습 & 메모(실전, 실습, 프로젝트)/3-3 배포 실전 공부' 카테고리의 다른 글
  • [배포] Meat-A-Eye 배포 및 트러블슈팅 진행 기록 (마지막)
  • [배포] 데이터베이스 연결, CORS, 외부 API 보안 연결 문제 (6)
  • [Meat-A-Eye 배포] AWS EC2 서버 구축 및 AI 환경 세팅(3)
  • [배포] AWS RDS 활용 - MySQL DB 구축 및 초기화(2)
고니3000원
고니3000원
공부 내용 정리, 자기발전 블로그 입니다. 기존 네이버 블로그에서 티스토리로 이전했습니다. https://blog.naver.com/pak1010pak
  • 고니3000원
    곤이의 공부 블로그
    고니3000원
  • 전체
    오늘
    어제
    • 분류 전체보기 (176)
      • 1. AI 논문 + 모델 분석 (19)
        • AI 논문 분석 (13)
        • AI 모델 분석 (6)
      • 2. 자료구조와 알고리즘 (16)
        • 2-1 자료구조와 알고리즘 (13)
        • 2-2 강화학습 알고리즘 (3)
      • 3. 자습 & 메모(실전, 실습, 프로젝트) (25)
        • 3-1 문제 해석 (4)
        • 3-2 메모(실전, 프로젝트) (14)
        • 3-3 배포 실전 공부 (7)
      • 4. [팀] 프로젝트 및 공모전 (14)
        • 4-1 팀 프로젝트(메모, 공부) (1)
        • 4-2 Meat-A-Eye (6)
        • 4-3 RL-Tycoon-Agent (3)
        • 4-4 구조물 안정성 물리 추론 AI 경진대회(D.. (4)
      • 5. [개인] 프로젝트 및 공모전 (0)
        • 4-1 귀멸의칼날디펜스(자바스크립트 활용) (5)
        • 4-2 바탕화면 AI 펫 프로그램 (4)
        • 4-3 개인 프로젝트(기타) (3)
      • 개념 정리 step1 (32)
        • Python 기초 (7)
        • DBMS (1)
        • HTML | CSS (3)
        • Git | GitHub (1)
        • JavaScript (5)
        • Node.js (5)
        • React (1)
        • 데이터 분석 (6)
        • Python Engineering (3)
      • 개념 정리 step2 (56)
        • Machine | Deep Learning (15)
        • 멀티모달(Multi-modal) (23)
        • 강화 학습 (10)
        • AI Agent (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 네이버 곤이의 블로그(Naver->Tistory)
    • Github
  • 공지사항

  • 인기 글

  • 태그

    공모전
    프로젝트
    강화학습
    알고리즘
    OCR
    ViT
    귀칼
    transformer
    Attention Is All You Need
    pandas
    EfficientNet
    paddleocr
    Python
    bottleneck
    Grad-CAM
    강화 학습
    자료구조
    Ai
    github
    데이터분석
    파인튜닝
    html
    학습
    javascript
    논문 리뷰
    OCR학습
    파이썬
    Vision
    자바스크립트
    구현
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고니3000원
[배포] AWS EC2 재가동 및 도커 배포 (4)
상단으로

티스토리툴바