분류 전체보기 117

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 4

앞에서 준비한 docker 이미지를 가지고 로컬환경을 넘어 웹으로 가보도록 합시다. 본 주제의 맨 처음에 언급 했던 것처럼, 웹 서비스로 Google Cloud Platform 을 사용하고자 합니다. 많은 서비스중 이번 주제에 사용할 서비스는 Compute Engine 과 Container Registry 입니다. 간략하게 전체를 보자면, 로컬에서 만든 docker 이미지 -> Container Registry -> Compute Engine 으로 이루어져 있습니다. 이번 포스팅에서는 Container Registry에 이미지를 push 하는것 까지 해보겠습니다. 1. Google Cloud Platform 사용하기 ㅇ 구글 클라우드 이용을 위해서는 기본적인 가입과 결재수단 및 API 사용설정, 그리고 ..

Technique 2018.01.19

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 3

앞에서 준비한 django 프로젝트 및 셋팅파일들을 포함하는 docker 이미지를 만들고자 합니다. 이를위해 dockerfile을 작성하고 이를 빌드하여 이미지를 만들고, 빌드한 이미지를 가지고 컨테이너를 생성하여 서버의 구동 및 django의 정상 동작을 확인해 보도록 하겠습니다. 1. dockerfile을 프로젝트 폴더에 작성 합니다.FROM ubuntu:18.04 MAINTAINER DEV-GO RUN apt-get update -y && \ apt-get install -y \ nginx \ python3-dev \ python3-pip RUN pip3 install django uwsgi RUN echo "daemon off;" >> /etc/nginx/nginx.conf RUN rm -rf /..

Technique 2018.01.18

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 2

(본 포스팅은 Docker를 이용한 Windows에서 Linux 개발환경 구축 (feat, Django) 을 참고하신 후 활용하시면 좋습니다.) 우리는 로컬에서 평소 사용하던 도구들을 활용해 개발하고, 이를 서버에 배포하고자 합니다. 이번 포스팅에서는 google cloud에 배포할 docker 이미지에 포함시킬 django 프로젝트, 그리고 각종 설정파일들을 준비해 보겠습니다. 1. django 프로젝트 생성 ㅇ 로컬에 django 프로젝트를 생성 합니다. 상세 방법은 django 공식 튜토리얼 참조하여 주세요 2. django - uwsgi - nginx 로 서버를 구성하기 위한 필수 파일 확보 ㅇ uwsgi_params 파일을 프로젝트 폴더에 포함 합니다. nginx와 uwsgi 간의 상호작용을 위..

Technique 2018.01.17

Google Cloud, Docker로 간단하게 웹서비스 구축하기(feat. Django) 1

웹 서비스 구축을 배우는데 있어 보통은 로컬에서 테스트 서버로 여러가지 구현을 해보고, 이후 서버에 배포하여 런칭하는것을 학습하는게 일반적인 학습 방법일 것입니다. 전문적인 배경 지식을 가진 분들께서는, 위와같이 로컬부터 테스트 하고 서비스 하는 것이 합리적인 방법일 수 있지만, 배경지식이 없이 취미로 웹서비스를 구축하고자 하는 사람에게는 로컬에서 원하는 서비스를 어느정도 구현 해보고, 서버에 배포하는 과정에서 맞닥그리게 되는 운영 체계의 변화, 서버의 셋팅, 도구의 변경 등으로 인해 전혀 새로운 시작으로 다가올 수 있으며, 이 과정에서 좌절하는 경우가 많습니다. 이번 포스팅의 목적은, 서버에 도커 컨테이너로 기본적인 웹프레임워크를 구동시켜보고 이를 베이스로, 컨테이너 이미지의 업그레이드를 통해 자신의 ..

Technique 2018.01.14

[Error Solution] OSError: mysql_config not found

python 에서 mysql 적용을 위해 mysqlclient 설치중 발생하는 에러에 대한 해법 입니다. 해당 환경은 ubuntu 입니다. 에러 발생# pip install mysqlclientCollecting mysqlclient Using cached mysqlclient-1.3.12.tar.gz Complete output from command python setup.py egg_info: /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 1, in File "/tmp/pip-build-w0qex39c/mysqlclient/setup.py", line 17, in metadata, options..

Technique 2017.11.19

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

이번 포스팅에서는 기존에 호스트 에서 수행중이던 프로젝트를 도커 컨테이너에서 구동하여 호스트 화면에서 확인해 보도록 하겠습니다. ㅇ 컨테이너 환경 - 기존 포스팅에서 생성한 컨테이너(dev_go) ㅇ 컨테이너에서 동작시킬 Django 프로젝트 - 프로젝트 : 기사 크롤링을 위한 django 프로젝트 - 사용패키지 리스트 : [django, pandas, requests, selenium, beautifulsoup4, mysqlclient, lxml] - 프로젝트 구동화면 앞에서 배운 내용을 토대로 기존의 프로젝트를 컨테이너에 구동 시키도록 합니다. 우선, kitematic 에서 사용할 컨테이너와 호스트를 연결하는 포트를 설정 합니다. 다음으로, 볼륨에 호스트에서 진행중인 프로젝트 폴더를 연결시킵니다. 연..

Technique 2017.11.18

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

컨테이너의 특정 포트를 호스트에 할당된 IP의 특정 포트로 연결해 봅시다. Docker는 호스트와 컨테이너의 포트 연결을 위하여 --port 옵션을 제공 하지만, 저는 가급적 GUI를 선호하는 관계로 kitematic을 이용하고자 합니다. kitematic에서 사용중인 컨테이너(dev_go)의 Settings 탭의 Hostname/Ports 탭에서 포트 연결을 위한 설정이 가능합니다. DOCKER PORT에는 컨테이너에서 개방할 포트를PUBLISHED IP: PORT 에는 호스트에서 접속할 PORT를 지정해줍니다(IP는 자동할당) 여기서는 컨테이너 PORT는 8000, 호스트 PORT는 9000으로 지정 후 저장합니다. 아직은 http://192.168.99.100:9000/에 접속해도 별다른 페이지는 ..

Technique 2017.11.14

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

이번 포스팅에서는 docker의 Volume 기능을 이용하여 호스트에서 진행중인 프로젝트 폴더를 이미 생성한 컨테이너의 폴더에 연동 시키고 이를 실행해 보도록 하겠습니다. 호스트 프로젝트 폴더와 연동시킬 폴더를 컨테이너에 하나 만듭니다.mkdir 로 폴더를 만들고, ls로 폴더들을 확인 합니다.# mkdir project# lsbin boot dev etc home lib lib64 media mnt opt proc project root run sbin srv sys tmp usr var project 폴더가 생성되었음을 확인할 수 있습니다. 이제 컨테이너의 project 폴더를 호스트와 연동할 수 있도록 해보겠습니다.지금까지 셋팅된 컨테이너를 이미지로 만들고, 이를 이용해 다시 컨테이너를 구동 하면서..

Technique 2017.11.13

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

본 포스팅 시리즈의 목표는 아래와 같습니다. 호스트(내 컴퓨터, Windows)에서 개발중인 웹 프로젝트를 도커 컨테이너(가상환경, Linux)에서 동작시켜 호스트 브라우저에서 웹 확인하기 이를 위해서는 아래의 준비가 필요합니다. 1. Docker 설치 - Docker for windows 또는 Docker Toolbox(windows home 유저)2. Django 웹 프로젝트(호스트) 1. Docker 컨테이너 생성 Docker를 설치하면 Kitematic 이라는 GUI 가 존재합니다. 터미널에 거부감이 있는 유저들이 좀 더 수월하게 이미지와 컨테이너를 생성, 관리하도록 해 주는 도구 입니다. 우리는 터미널을 싫어하는 관계로 주로 여기서 작업을 합니다. Docker에는 유저들이 만든 다양한 이미지가 ..

Technique 2017.11.12

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

* Pycharm Professinal버전에서는 IDE와 Docker를 연동하는 기능이 있습니다. 본 내용은 Community(무료) 버전을 사용해야 하는 경우에만 참조하세요... 취미생활로 이것저것 만들어 보다보니, 누군가에게 보여주기 좋고, 직접 사용하기도 좋은 웹 개발까지 흘러가게 되네요. 이를 위해선 서버를 구성해야 하고, 다양한 패키지(Celery... 너만 아니었어도 안했을지몰라...)를 사용해야 하는데 Windows에서는 제약이 많아 Linux를 사용해야 하는 상황이 되었습니다. 보통의 Wiondows 유저가 Linux에서 개발환경을 구축하려면, 1. 별도의 개발용 PC를 구성한다2. 멀티 부팅을 통한 Unix 사용3. Virtual Machine을 이용한 가상환경 구성 위 세가지 방법 정도..

Technique 2017.11.12
반응형