Technique

Docker를 이용한 Windows에서 Linux 개발환경 구축 (feat, Django) 2

JAY-GO 2017. 11. 12. 15:47
반응형

본 포스팅 시리즈의 목표는 아래와 같습니다.


 호스트(내 컴퓨터, Windows)에서 개발중인 웹 프로젝트를 도커 컨테이너(가상환경, Linux)에서 동작시켜 호스트 브라우저에서 웹 확인하기


이를 위해서는 아래의 준비가 필요합니다.


1. Docker 설치

  - Docker for windows 또는 Docker Toolbox(windows home 유저)

2. Django 웹 프로젝트(호스트)




1. Docker 컨테이너 생성

 Docker를 설치하면 Kitematic 이라는 GUI 가 존재합니다. 터미널에 거부감이 있는 유저들이 좀 더 수월하게 이미지와 컨테이너를 생성, 관리하도록 해 주는 도구 입니다.


우리는 터미널을 싫어하는 관계로 주로 여기서 작업을 합니다.


Docker에는 유저들이 만든 다양한 이미지가 있지만, 이를 사용하면 폴더 구성이라던가, 설치된 패키지들을 파악하는데 시간이 필요합니다. 우리는 기본적인 운영체계만 설치되어 있는 Ubuntu 이미지로 컨테이너를 생성해 하나하나 설치해 보면서 진행해보고자 합니다. 


Create를 이용해 컨테이너를 만들도록 합니다. 


이제 우리가 사용할 Docker 컨테이너가 생성되었습니다. 해당 컨테이너 관리를 위해 Setting에서 이름을 바꿔주도록 합시다.


2. 컨테이너 환경 셋팅

 우리가 만든 컨테이너는 현재 운영체제(Ubuntu)만 초기 설치된 상태라고 생각하면 됩니다. 이제 우리가 프로젝트 진행을 위해 각종 패키지들을 설치하려고 합니다.


이를 위해서는 컨테이너 안으로 들어가야 합니다.

Kitemetic에서 해당 컨테이너가 구동되면 EXEC 버튼이 활성화 됩니다.

이를 통해 우리는 해당 컨테이너의 내부 터미널에 접근할 수 있습니다.

이제부턴, 부득이 터미널에서 작업을 해야 합니다. 


- 각종 패키지 설치를 위해 ubuntu를 업데이트 합니다. 업데이트 하지 않으면 다른 패키지들 설치 시 실패하는 경우가 많습니다.

#apt-get update

Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]

Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]

Get:3 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [51.1 kB]

Get:4 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [486 kB]

...


- 기본이 되는 파이썬 및 pip 설치

python3-pip를 설치하면 python3.5 및 기타 기본 패키지들이 설치됩니다.

# apt-get install python3-pip

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following additional packages will be installed:

...

- pip 업그레이드

# pip3 install --upgrade pip

Collecting pip

  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)

    100% |################################| 1.3MB 1.2MB/s

Installing collected packages: pip

  Found existing installation: pip 8.1.1

    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr

Successfully installed pip-9.0.1

- django 설치

# pip install django

Collecting django

  Downloading Django-1.11.7-py2.py3-none-any.whl (6.9MB)

    100% |################################| 7.0MB 208kB/s

Collecting pytz (from django)

  Downloading pytz-2017.3-py2.py3-none-any.whl (511kB)

    100% |################################| 512kB 151kB/s

Installing collected packages: pytz, django

Successfully installed django-1.11.7 pytz-2017.3


이제 우리가 만든 컨테이너는 기본적으로 사용될 패키지들 설치가 완료 되었습니다.

실제 적용시에는 호스트에서 개발중인 프로젝트에 적용된 패키지들을 전부 설치 하여 동일한 환경을 구성해 주어야 합니다.



다음번에는 우리가 호스트에서 개발중인 django 프로젝트를 컨테이너 안에서 동작하도록 해 보도록 하겠습니다.





반응형