가장 빨리 만나는 Docker 18장 - 4. Django와 데이터베이스 컨테이너 생성하기
저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
Docker로 Django 애플리케이션 구축하기
이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20
Django와 데이터베이스 컨테이너 생성하기
Django와 데이터베이스 이미지 준비가 끝났으니 컨테이너를 생성합니다. 먼저 데이터베이스 컨테이너부터 생성합니다.
$ sudo docker run -d --name db -e ORACLE_PASSWORD=examplepassword oracle
- 데이터베이스 컨테이너를 생성할 때
-e
옵션을 사용하여 ORACLE_PASSWORD에 사용할 system 계정의 비밀번호를 설정합니다.
Django 애플리케이션 디렉터리로 이동한 뒤 Django 데이터베이스를 초기화하고 관리자 계정을 설정합니다.
~$ export ORACLE_HOST=$(sudo docker inspect -f "{{ .NetworkSettings.IPAddress }}" db)
~$ export DB_ENV_ORACLE_PASSWORD=examplepassword
~$ cd
~$ cd exampleapp
~/exampleapp$ ./manage.py syncdb
Operations to perform:
Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying sessions.0001_initial... OK
You have installed Django's auth system, and don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (leave blank to use 'pyrasis'): admin
Email address: admin@example.com
Password: <비밀번호 입력>
Password (again): <비밀번호 입력>
Superuser created successfully.
export
명령을 사용하여 환경 변수의 ORACLE_HOST에 db 컨테이너의 IP 주소를 설정합니다.docker inspect
명령에서-f
옵션을 사용하면 특정 항목만 출력할 수 있습니다. ”{{ .NetworkSettings.IPAddress }}”는 컨테이너의 IP 주소입니다.
export
명령을 사용하여 환경 변수의 DB_ENV_ORACLE_PASSWORD에 Oracle 데이터베이스 비밀번호를 설정합니다.manage.py syncdb
를 실행하여 Django 데이터베이스를 초기화합니다. 관리자(superuser) 설정 부분이 나오면yes
를 입력하고 관리자 계정과 이메일, 비밀번호를 설정합니다.