일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 루키초밥
- css
- ORA-01005
- mybatis
- 은혜침구
- 요리
- 반응형앱
- 정민이초밥
- Oracle
- 문방구과자
- ORA-01756
- 카페
- SVN사용방법
- egov
- 디카페인
- Responsively app
- JavaScript
- ORA-01745
- 배딩작업
- AbstractViewe
- RefreshableSqlSessionFactoryBean
- ORA-00909
- Eclipse
- 양동점
- 맛집
- 나주
- 광주
- Java
- Jsp Pagination
- docker
- Today
- Total
gnusraun
Docker python 컨테이너 만들기 본문
1. python 다운로드 3.11.4
https://www.python.org/downloads/
Download Python
The official home of the Python Programming Language
www.python.org
2. python 설치 확인 및 python 디렉토리 지정
# python 버전 확인
$ python3 -V
# python 패키지 확인
$ pip3 list
# python 앱을 만들기 위해 flask 설치
$ pip3 install flask
# 디렉토리 경로 만들기
$ mkdir ./python_test
# 디렉토리로 이동
$ cd ./python_test
# python 패키지 리스트
pip3 freeze > requirements.txt
3. app.py 만들기
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
# host는 반드시 0.0.0.0으로 지정 localhost로는 컨테이너에서 실행시켜도 안됨
# port는 8282로 지정, 사용자가 알맞게 수정 가능
if __name__ == '__main__':
app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 8282)))
4. Dockerfile 만들기
# python image
FROM python:3.11
# 작업위치 /app으로 설정
WORKDIR /app
# python 패키지 리스트 복사
COPY requirements.txt requirements.txt
# 프로젝트에 필요한 패키지 및 shell 명령어를 실행 패키지가 많을 경우 requirements.txt를 사용
RUN pip3 install -r requirements.txt
# 현재 디렉토리(.)의 내용을 컨테이너 내의 /app 디렉토리에 복사합니다.
COPY . /app
# PORT 지정
EXPOSE 8282
# 컨테이너 실행 명령 설정 / host를 0.0.0.0으로 지정해야 사용 가능
CMD ["python3", "app.py", "--host", "0.0.0.0"]
5. Docker Image 생성
# 옵션
# -f Docker파일 지정 (생략시 현재 경로에 Dockerfile)
# -t 도커 이미지명 (생략시 랜덤의 이름으로 생성)
$ docker build -f Dockerfile -t python_test_docker .
# docker 이미지 생성 확인
$ docker images
6. Docker Container 생성
# 옵션
# -d 백그라운드 실행
# -p 포트
# --name 컨테이너 이름
# 맨뒤에 이름은 docker image명
$ docker run -d -p 8282:8282 --name python-test-container python-test-docker
# 현재 실행되고 있는 컨테이너 상태
# up: 컨테이너가 실행중, exited: 종료 상태, pause: 일시중지 상태
$ docker ps -a
7. 결과 확인
8. Docker Desktop 확인
도커 이미지와 컨테이너가 잘 나타나 있는 것을 확인할 수 있다.
python으로 컨테이너 실행시 참고 자료 ERR_EMPTY_RESPONSE
에러 참고 - https://sangwonyoon.tistory.com/80
[FastAPI 에러 해결] ERR_EMPTY_RESPONSE in Docker Container
실행 환경 OS: MacOS FastAPI: 0.96.0 버전 문제 상황 로컬에서 정상적으로 작동하는 FastAPI 애플리케이션을 Docker 이미지로 빌드한 뒤, 컨테이너로 실행시켰더니 ERR_EMPTY_RESPONSE 메세지를 출력하며 아무
sangwonyoon.tistory.com
도커 이미지 참고 - www.flaticon.com/kr/free-icons/docker
23종의 무료 도커 아이콘
SVG, PSD, PNG, EPS 포맷 또는 웹폰트로 제공되는 23종 이상의 도커 아이콘을 다운로드받으세요. 최대의 무료 아이콘 데이터베이스 - Flaticon.
www.flaticon.com:443
'DevOps > Docker' 카테고리의 다른 글
Docker 명령어 모음 (0) | 2024.01.19 |
---|---|
Docker 설치하기 - Ubuntu (0) | 2024.01.19 |
Docker Java war 컨테이너 만들기 (0) | 2023.06.11 |
Docker node.js 컨테이너 만들기 (0) | 2023.06.11 |
Docker 설치하기 - MacOS (0) | 2023.06.11 |