반응형
SMALL
1. Dockerfile 정의
■ 루트폴더에서 Docker 이미지 빌드 시 config 가 되어줄 파일을 생성 및 정의한다.
FROM python:3.12.2
COPY . /src
WORKDIR /src
RUN pip install -r requirements.txt
EXPOSE 8892
CMD python main.py
- FROM : 본인의 파이썬 버전
- COPY : 루트 디랙토리의 모든 파일을 /src에 복사한다.
- RUN : 커맨드를 실행한다.
- EXPOSE : 연결할 포트를 명시 ( 생략가능 )
- CMD : FASTAPI 실행에 사용될 명령어 필자는 main.py 에 uvicorn 설정을 입력해두어 main.py를 실행하게 하였다
2. 도커 이미지 빌드
■ 하기의 명령어로 빌드 실행
docker build -t {빌드할_이미지_이름_본인_재량으로} .
#Output
docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 194B 0.0s
=> [internal] load metadata for docker.io/library/python:3.12.2 1.6s
=> [auth] library/python:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/5] FROM docker.io/library/python:3.12.2@sha256:19973e1796237522ed1fcc1357c766770b47dc15854eafdda055b65953fe5ec1 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 8.15kB 0.0s
=> CACHED [2/5] RUN pip install fastapi 'uvicorn[all]' 0.0s
=> [3/5] COPY . /src 0.0s
=> [4/5] WORKDIR /src 0.0s
=> [5/5] RUN pip install -r requirements.txt 85.5s
=> exporting to image 4.9s
=> => exporting layers 4.9s
=> => writing image sha256:ca3f2771d9a3e5db23b820652a381d4c00b6db0b16320b83efe8bbeace8f6b47 0.0s
=> => naming to docker.io/library/crime_dash_board_server 0.0s
3. 도커 이미지 실행
■ 하기의 명령어로 빌드 된 도커 이미지 실행
- 중간에 적어주는 포트는 도커의 포트와 로컬의 포트를 바인딩 해주기 위함이다.
docker run --rm -p 8892:8892 crime_dash_board_server
4. 접속 테스트
LIST
'Programming > Cs' 카테고리의 다른 글
[ IDE ]Vscode Extension으로 폴더 및 파일 직관적인 아이콘으로 변경하기 (0) | 2024.09.13 |
---|---|
[ Docker ] 로컬 도커이미지 가상우분투서버에서 실행하기 (2) | 2024.06.13 |
[ CS ] 비트와 바이트, MSB, LSB (0) | 2024.04.29 |
[ Vmware, 무료 ] M2 맥에 윈도우11 가상환경 및 인터넷 연결 세팅하기 (1) | 2024.04.15 |
[ Mac ] zsh-syntax-highlighting, neofetch Mac, ubuntu 설치하기 (0) | 2024.03.06 |