LearnRun

Synology DSM 7에서의 Docker + Django 세팅 (1) 본문

Synology(NAS)

Synology DSM 7에서의 Docker + Django 세팅 (1)

PROMPT_ 2023. 1. 19. 06:26

◈  Contents

     

     


    본격적인 KT AIVLE 일정 시작 전, Django 기반의 미니 프로젝트에 참가할 기회를 얻었습니다.
    아직 참여 확정은 아니지만, 웹 파트를 맡을 것 같습니다. 이를 기회삼아 NAS 기반의 프로젝트 시작에 대해 정리하려고 합니다.

     

    그리고, DSM 7에서의 Docker 및 Django 세팅 방법은 검색해도 마땅히 노출되는게 없어서..

    제가 이전에 세팅했던 정보를 기반으로 작성해보겠습니다.

     

    처음부터 천천히 세팅을 진행해보겠습니다. 도움이 되었으면 좋겠네요.

    (그냥 따라만 하셔도 충분히 진행 가능하게 써보려는데 잘 될지는 모르겠습니다.)


     

     

    본 글은 Docker 컨테이너 세팅부터 python 설치, 그리고 django 프로젝트의 생성까지 다룹니다.

     

     

    사전 준비

    작업 저장소 폴더 생성

    - 제어판 -> 공유 폴더로 접속하여, 주요 작업 저장소로 활용할 폴더를 생성해주세요.
    - 저는 "docker" 라고 이름짓겠습니다.
    - 이름을 기억해둡시다. 대충 막 지으시면 나중에 다시 찾아보러 와야하고, 심지어는 다시 만들거나 바꿔야해요.
    - 기존에 쓰던 폴더를 쓰는 것도 비추천합니다. 나중에 컨테이너 많아지면 어디서부터 정리할지 답이 안 나옵니다.
    - 제가 이런 삽질 어마어마하게 많이 해서... 굳이 적었습니다. 

     

    - File Station 앱을 켜서, docker 폴더 내에 "django_test"라는 폴더를 작성해줍니다.

    - 해당 폴더에, 본 컨테이너의 작업물이 저장될 수 있게 할 것입니다.

    - 본 과정을 거치지 않으면, 컨테이너를 다시 실행할 때마다 초기화가 진행되어 작업이 모조리 사라집니다.

     

    패키지 센터에서의 App 설치

    보인다.. Docker !!

     - Synology 패키지 센터를 실행해서, 밑으로 쭉 내려보며 찾으시다 보면 오픈소스 탭이 있습니다.

     - "Docker"를 찾아 다운로드 해주세요.

     - 사진처럼, Docker 아래의 버튼 텍스트가 '열기'로 바뀐다면 설치가 완료된 것입니다.

     

     

     

    프로젝트 세팅

    Ubuntu 이미지 설치

     - Ubuntu 항목을 더블클릭하여 로드합니다.

     - 이후 나오는 태그 선택 창에서, 버전을 지정할 수 있습니다.

     - 본 포스팅에서는 22.04 버전으로 진행합니다.

     

    Ubuntu 이미지를 통해 컨테이너 가동

    - 해당 ubuntu:22.04 항목을 더블클릭합니다.

     

    - 네트워크는 그대로 사용합니다. 다음을 눌러 넘어갑니다.

     

    - 컨테이너 이름은 django_test 로 지정하였습니다. 이전에 만든 폴더와 이름이 같습니다.

    - 높은 권한 사용과, 자동 재시작 체크했습니다.

    - 다음을 누릅니다.

    - 포트 설정은 일단 넘어갑니다. 나중에 세팅할겁니다. 다음을 누릅니다.

     

    - 볼륨 설정에서, "폴더 추가"를 선택하고, 아까 생성해둔 공유폴더 "docker" 내에 "django_test"를 선택합니다..

    - docker를 선택한 해당 화면에서, 마운트 경로를 /home으로 잡아준 뒤, 다음을 누릅니다.

    - 그 다음, "마법사 완료 후 이 컨테이너 실행"을 체크한 뒤 완료를 눌러 컨테이너를 실행하시면 됩니다.

     

     

    컨테이너 內 개발환경 구성

    - 이후, Docker 앱에서 컨테이너 항목을 클릭하여, 작성한 "django_test" 컨테이너를 더블클릭합니다.

    - 상단의 터미널 탭을 누르면 본 사진처럼 명령어를 입력할 수 있는 창을 볼 수 있습니다.

     

    명령어를 차례대로 입력합니다.

    한번에 다 입력하는 것이 아니고, 단계가 종료될때마다 한줄씩 추가합니다.

     

    입력 명령어

    • apt update
      # 설치할 수 있는 패키지 리스트를 최신화하는 과정입니다.

    • apt upgrade
      # 리스트를 최신화했으니, 패치를 진행합니다.

    • apt install python3.10
      # python 3.10버전을 설치합니다. 도중에 한번 y눌러 확인해야 하는 구간이 있습니다.

    • apt install python3-pip
      # python 패키지 패치도구를 설치합니다. 이 파트에서도 y 확인구간 있습니다.

    • pip install virtualenv
      # 이제부터 pip 명령어 사용이 가능합니다. 가상환경(사실상 메인이 될 환경)을 구성하기위해 가상화 툴을 설치합니다.

    • virtualenv /home/env
      # /home 내에 /env 라는 가상환경을 세팅해줍니다.
      # home 폴더는 NAS의 "docker/django_test"에 매핑해두었으므로, 가상환경 세팅이 해당 폴더에 저장됩니다.

    • cd home
      # home 폴더 내에 프로젝트를 생성해야 저장소에 남으므로, home 폴더에 접속합니다.

    • . env/bin/activate
      # 가상환경을 활성화합니다. 이제부터 파이썬 명령어를 사용할 수 있습니다.
      # 이후부터 명령줄 맨 앞에 (env)로 환경이 명시됩니다.

    • pip install django 
      # 해당 가상환경에 django를 설치해줍니다.

    • pip install pytz --upgrade
      # timezone 이슈를 해결하기 위해 설치합니다.

    • pip install tzdata --upgrade
      # timezone 이슈를 해결하기 위해 설치합니다.

    • django-admin startproject project_test
      # "project_test" 라는 이름의 프로젝트를 형성합니다.

     

    마치며

    docker/django_test 폴더에 들어가보시면 env 폴더와 project_test 폴더가 생성되어 있을 것입니다.

    docker 컨테이너 內 프로젝트 생성은 이것으로 완료입니다.

     

     

     

    프로젝트 실행 명령어, 컨테이너 재실행 시 사용할 명령어, 외부 접속 설정 등은 다음 글에서 진행하겠습니다.

     

     

    ‌ ‌ ‌
    Comments