본문 바로가기

Docker4

[FastAPI] Gunicorn과 Uvicorn, 도대체 왜 섞어 쓸까? (WSGI vs ASGI) Spring Boot로 개발할 때는 고민할 필요가 없었습니다. 내장 Tomcat이 알아서 다 해주니까요.그런데 Python FastAPI로 넘어오니 배포 명령어부터가 복잡합니다.# Dockerfile에서 자주 보는 이 명령어...CMD ["gunicorn", "-k", "uvicorn.workers.UvicornWorker", "app.main:app"] gunicorn은 뭐고, uvicorn은 뭘까요? 왜 둘을 섞어 쓰지?오늘은 Python 웹 서버의 핵심 개념인 WSGI/ASGI와 Gunicorn/Uvicorn의 관계를 Spring 개발자의 시선으로 완벽하게 정리해 봅니다.1. 프로토콜(약속): WSGI vs ASGI이 둘은 소프트웨어가 아니라, **웹 서버와 파이썬 애플리케이션이 대화하는 규칙(In.. 2026. 1. 8.
docker [CentOS(Red Hat) - 주의 사항] CentOS는 보수적입니다. docker를 사용하기 위해서는 기본적으로 지원하는 Virtual 기능은 어떤 Linux OS나 가지고 있지만 Red Hat 계열의 CentOS는 Virtual Network를 지원하지 않습니다. Virtual Network가 왜 중요 할까요?? 사실 하나의 docker container만 서비스 한다면 CentOS도 크게 제약 사항이 없습니다. 하지만 platform + DB 같은 서비스를 해야 할 때는 docker(platform) + docker(DB)와 같은 공식으로 서비스 해야 할 때도 있습니다. 예로 docker-compose.yml을 사용해 A,B,C 서비스를 올리게 되면 A,B,C는 Virtual Network를 통해 하나의 Network로 묶어 사용됩니다. 하.. 2020. 6. 25.
docker #2 [docker-compose 명령어 정리] docker-compose 명령어 도커-컴포즈 관련 docker-compose down -> 묶인 컨테이너 서비스 다운 및 컨테이너 제거 docker-compose up -d -> 도커 컴포즈에 등록된 이미지/컨테이너를 등록시킴 docker-compose logs -> 이미지/컨테이너의 로그 확인(-f를 작성시 tail -f와 동작 동일) docker-compose ps -> 문서에 포함된 모든 이미지/컨테이너 목록 조회 docker-compose stop 컨테이너명 -> 컨테이너 stop시킴 docker-compose rm 컨테이너명 -> 컨테이너 삭제 docker-compose restart -> docker-compose에 적용된 모든 이미지/컨테이너 리스타트 2020. 6. 24.
docker #1 [명령어 정리] 이미지 관련 docker images : docker에 등록된 전체 이미지 정보 목록을 볼수 있음 docker build 이미지명 위치 : 이미지를 등록 할 때 사용 docker rmi 이미지이름 : 도커 이미지를 삭제(간혹 삭제 안될때 -f) 컨테이너 관련 docker ps -a : 컨테이너 목록을 조회 docker rename 이전이름 바꿀이름 : 컨테이너 이름을 변경 docker start 컨테이너이름 : 컨테이너를 실행 docker stop 컨테이너이름 : 컨테이너 동작을 멈춤 docker restart 컨테이너이름 : 컨테이너를 재 동작 시킴 docker rm 컨테이너이름 : 컨테이너 삭제 docker run 이미지이름 : 컨테이너 생성 docker exec -it 컨테이너이름 bash : 컨테.. 2020. 6. 24.