LearnRun
Synology DSM 7에서의 Docker + Django 세팅 (1) 본문
◈ Contents
본격적인 KT AIVLE 일정 시작 전, Django 기반의 미니 프로젝트에 참가할 기회를 얻었습니다.
아직 참여 확정은 아니지만, 웹 파트를 맡을 것 같습니다. 이를 기회삼아 NAS 기반의 프로젝트 시작에 대해 정리하려고 합니다.
그리고, DSM 7에서의 Docker 및 Django 세팅 방법은 검색해도 마땅히 노출되는게 없어서..
제가 이전에 세팅했던 정보를 기반으로 작성해보겠습니다.
처음부터 천천히 세팅을 진행해보겠습니다. 도움이 되었으면 좋겠네요.
(그냥 따라만 하셔도 충분히 진행 가능하게 써보려는데 잘 될지는 모르겠습니다.)
본 글은 Docker 컨테이너 세팅부터 python 설치, 그리고 django 프로젝트의 생성까지 다룹니다.
사전 준비
작업 저장소 폴더 생성
- 제어판 -> 공유 폴더로 접속하여, 주요 작업 저장소로 활용할 폴더를 생성해주세요.
- 저는 "docker" 라고 이름짓겠습니다.
- 이름을 기억해둡시다. 대충 막 지으시면 나중에 다시 찾아보러 와야하고, 심지어는 다시 만들거나 바꿔야해요.
- 기존에 쓰던 폴더를 쓰는 것도 비추천합니다. 나중에 컨테이너 많아지면 어디서부터 정리할지 답이 안 나옵니다.
- 제가 이런 삽질 어마어마하게 많이 해서... 굳이 적었습니다.
- File Station 앱을 켜서, docker 폴더 내에 "django_test"라는 폴더를 작성해줍니다.
- 해당 폴더에, 본 컨테이너의 작업물이 저장될 수 있게 할 것입니다.
- 본 과정을 거치지 않으면, 컨테이너를 다시 실행할 때마다 초기화가 진행되어 작업이 모조리 사라집니다.
패키지 센터에서의 App 설치
- 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 컨테이너 內 프로젝트 생성은 이것으로 완료입니다.
프로젝트 실행 명령어, 컨테이너 재실행 시 사용할 명령어, 외부 접속 설정 등은 다음 글에서 진행하겠습니다.