728x90 반응형 전체 글115 [Cloud] 배포 - NCP : docker 로 배포 도커파일에서 실행하던 런 코드를 스크립트 파일로 바꾼다. 스크립트 파일의 경로를 한번에 scripts 로 정리하고 새롭게 start 파일로 작성한다. 경로에 민갑하기 때문에 최상위 경로에 하나 만들어주고 lion_app (manage.py 가 있는) 에 하나 더 만들어서 구분지어 준다. FROM python:3.11-alpine LABEL likelion.web.backendauthor="Ivan kim " ... COPY ./scripts/start /start RUN sed -i 's/\\r$//g' /start # \\r : 캐리지 리턴 RUN chmod +x /start # RUN python3 manage.py migrate -> start 스크립트로 대체 RUN if [ -e /var/www/.. Dev./Cloud 2023. 8. 13. [Cloud] 배포 - Docker : 장고 기본 css 파일 매핑 현재 nginx 로 들어오는 요청을 장고 서버포트로 보내주는데 스태틱 파일은 다른데로 보내주게 설정한다. server { listen 80; # server_name http 223.130.133.96; server_name localhost; location / { # 아래의 코드로는 nginx가 실행된 컨테이너의 주소로 보내기 때문에 Bad request 가 뜬다. # proxy_pass ; # 그래서 lion-app 즉 장고가 떠있는 컨테이너의 8000포트로 프록시 패스로 넣어주어야 한다. proxy_pass ; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /static/ { alias /var/ww.. Dev./Docker 2023. 8. 12. [Cloud] 배포 - Docker : docker-compose.yml docker-compose.yml 파일은 여러 컨테이너를 함께 정의하고 관리하기 위한 도구 해당 파일을 사용하면 여러 컨테이너, 네트워크, 볼륨 등을 한번에 정의하고 실행할 수 있다. version : 사용하는 docker compose 파일의 버전 services : 실행할 컨테이너의 목록과 설정 networks : 사용할 네트워크의 정의 volumes : 사용할 볼륨의 정의 # docker-compose 파일의 버전을 명시 version: "3" services: # 서비스들의 시작 # 앱 설정 lion-app: container_name: lion-app-dc build: context: lion_app dockerfile: Dockerfile # 사용할 도커 파일의 이름 image: lion-ap.. Dev./Docker 2023. 8. 12. [Cloud] 배포 - Docker : Dockerfile - Django Dockerfile 로 장고 서버를 띄워보자 FROM python:3.11-alpine ARG APP_HOME=/app # 파이썬이 표준출력과 표준에러출력을 버퍼링 하지 않도록 설정 ENV PYTHONUNBUFFERED 1 # 파이썬이 .pyc 바이트코드파일을 작성하지 않도록 설정 ENV PYTHONDONTWRITEBYTECODE 1 WORKDIR ${APP_HOME} # 패키지들은 자주 바뀌지 않기 때문에 인스톨을 따로 가져가는게 좋다. # 만약 전체 카피로만 requirements 를 가져오게 되면 코드가 수정되었을 때 # 다시 인스톨을 해줘야하는 일이 발생하기 때문에 따로 이미지 레이어를 쌓아준다. COPY ./requirements.txt ./ RUN pip install --no-cache-di.. Dev./Docker 2023. 8. 11. [Cloud] 배포 - Docker : Volume Docker volume 컨테이너 위에 있는 데이터는 일시적 데이터이기 때문에 볼륨 맵핑을 통해 영구적으로 데이터를 보존할 수 있게 한다. 뿐만아니라 컨테이너간 데이터의 공유가 필요할 때에도 볼륨을 사용하여 데이터를 주고 받을 수 있다. 로컬 파일 시스템과 도커 파일 시스템을 연결하기 docker run -v /home/lion/mydata:/data -it --name lion-v lion:0.3 /bin/bash 💡 로컬 파일 시스템 경로 /home/lion/mydata 와 도커에서 /data 를 맵핑하면서 lion-v 라는 이름으로 lion 이미지 에 0.3 태그 로 이미지를 만들어 접속하겠다 텍스트 파일을 각각의 경로에서 생성한뒤에 체크해보면 ? # local - /home/lion/mydata .. Dev./Docker 2023. 8. 10. 이전 1 ··· 13 14 15 16 17 18 19 ··· 23 다음 728x90 반응형