SKT Fly AI 4기 활동기록

[컨테이너] 2. 도커 이미지 생성 및 배포

이무기뱀술 2024. 1. 31. 19:00
728x90

도커 이미지 만들기(Dockerization, 도커 말기)

docker-practice 폴더 만들고, DockerFile 만들기

  • FROM: 이미지 원본
  • CPOY: 이미지 만들 때, 필요한 것 COPY
  • RUN: 도커 이미지 만들어 질 때 실행할 코드
    • 여러 줄 가능
  • CMD: 도커 실행할 때 하는 코드
    • 딱 한 번만 싱랭
  • WORKDIR: 작업 경로
  • ENV: 환경변수
  • EXPOSE: 열어줄 포트번호.
# DockerFile
FROM ubuntu:18.04
RUN apt-get update
CMD ["echo", "Hello, Docker!"]

docker build -t my-image:v1.0.0 .

  • DockerFile 만든 위치에서 실행
  • 이름: my-image, 저장위치: 현재 디렉토리
  • ls -a 해도 안 보임
  • docker images 해야 보임!!
    • 이미지는 로컬 리포지토리에 있음
    • 이 이미지를 원격 리포지토리에 올릴 수 있음.
      • Docker Hub
      • Azure Cloud 어쩌고저쩌고
  • echo에 파이썬 소스코드 실행되게 하면??
    • AI 서버는 주로 FastAPI 사용
    • FastAPI .py가 실행되게 하면 됨

도커 이미지 저장소

docker run -d -p 5000:5000 --name registry registry

  • -p 5000:5000
    • 통신, 외부 포트 5000 내부 포트 5000
  • localhost:5000 으로 해당 registry 와 통신

docker tag my-image:v1.0.0 localhosh:5000/my-image:v1.0.0

  • 같은 이미지인데, 태그로 링크
  • 태그를 통해 통신

docker push localhost:5000/my-image:v1.0.0

docker push localhost:5000/my-image:v1.0.0

The push refers to repository [localhost:5000/my-image]
d75f52c2a38e: Pushed
548a79621a42: Pushed
v1.0.0: digest: sha256:3304694f96869693cd8619c18149b243b0e6d8f45cfc2fa15ce5bdce894958e6 size: 741
  • registory에 push
  • 우분투 이미지 push + my-image push

모델 만들기 -> 컨테이너 만들기 -> 이미지 만들기 -> push하기 -> 쿠버네티스가 받아서 배포

728x90