User Tools

Site Tools


docker:coachtown

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docker:coachtown [2015/01/05 18:20] – [4. run Docker container] 220.86.36.224docker:coachtown [2018/07/18 14:10] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Coachtown Docker ====== ====== Coachtown Docker ======
  
 +코치타운 서비스를 위한 도커 설치. 조금 수정하면 다른 django app 서비스에도 사용할 수 있다.   
  
 ===== 1. install docker ===== ===== 1. install docker =====
Line 9: Line 10:
  
 ===== 2. Dockerfile  ===== ===== 2. Dockerfile  =====
- + 
 +Dockerfile의 ADD 명령을 이용하여, 호스트에 있는 코드와 설정파일을 도커 이미지에 집어 넣는다. 
  
 <code> <code>
Line 19: Line 22:
 #RUN echo "\ndaemon off;" >>/etc/nginx/nginx.conf #RUN echo "\ndaemon off;" >>/etc/nginx/nginx.conf
 RUN echo "Asia/Seoul" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata RUN echo "Asia/Seoul" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
-RUN echo 'root:docker' | chpasswd+RUN echo 'root:xxxx' | chpasswd
  
 #ADD index.html /usr/share/nginx/www/index.html #ADD index.html /usr/share/nginx/www/index.html
Line 47: Line 50:
 도커 컨테이서 생성.  도커 컨테이서 생성. 
  
-데이터 베이스 볼륨:  데이터 베이스가 호스트에 있는 파일을 쓰도록 하기 위해서 volume을 연결하여 컨테이너에서 호스트의 데이터 베이스 파일을 쓰도록 한다.+데이터 베이스 볼륨: 호스트에 있는 데이터베이스 파일을 쓰도록 하기 위해서volume으로 연결하여 컨테이너에서 호스트의 데이터 베이스 파일을 읽고 쓰도록 한다.
  
-컨테이너는 백그라운드로 돌리고 docker exec로 서버 실행 스크립트를 실행한다.  +컨테이너는 백그라운드로 돌리고 docker exec로 서버 실행 스크립트를 실행한다. Dockerfile로 이미지 생성할 때분터 서버 실행이 잘 안된다. (튜토리얼은 그렇게 하던데). 이유는 모르겠다.
-음 왜그러는지 이유는 못찾았는데, Dockerfile에서 부터 서버 실행이 잘 안된다. (튜토리얼은 그렇게 하던데)+
  
 +기존의 컨테이너를 삭제하고, 새 컨테이너를 실행 한다.
 cat scripts/docker_run.sh   cat scripts/docker_run.sh  
  
Line 67: Line 70:
 CONTAINERID=$(sudo docker ps -q) CONTAINERID=$(sudo docker ps -q)
 sudo docker exec -it $CONTAINERID /coachtown/restart.sh sudo docker exec -it $CONTAINERID /coachtown/restart.sh
 +</code>
 +
 +서버 실행 스크립트. 기존의 컨테이너를 지우고, 다시 생성하는 방식.
 +/coachtown/restart.sh
 +<code>
 +#!/bin/sh
 +
 +ps aux | grep 'python manage.py runfcgi' | awk '{ print $2 }' | sudo xargs kill -9
 +
 +if [ -d "/coachtown/mysite" ]; then
 +COACHTOWNAPP=/coachtown/mysite
 +else
 +COACHTOWNAPP=mysite
 +fi
 +
 +# cd mysite
 +cd $COACHTOWNAPP
 +
 +sudo python manage.py runfcgi method=prefork pidfile=/tmp/django_coachtown.pid host=127.0.0.1  port=8000
 +sudo /etc/init.d/nginx restart
 </code> </code>
  
  
docker/coachtown.1420482024.txt.gz · Last modified: 2018/07/18 14:09 (external edit)