Docker

[DOCKER] Docker django 배포

오늘도개발 2024. 7. 2. 16:48

 

1.  개발환경 컨테이너(server1) 에서 django 프로젝트 생성

 

  - mkdir workspace 

 

  - cd workspace

    > workspace 디렉토리 생성 후 이동

 

  - django-admin startproject myapp

    > django project 생성

 

 

2. django 네트워크 외부 접근 허용 설정

 

  - cd myapp/myapp

   > 생성된 프로젝트 디렉토리로 이동

 

  - vim settings.py

   > 설정 파일 생성

 

 

   - 위와 같이 코드를 수정한다.

    > 입력할 곳에 커서를 놓고 i 를 누른 후 입력, 입력 후에는 cntl + c 입력 후 :w 를 입력하여 저장 후 :q 로 닫기

 

 

3. django DB 설정

 

  - 생성한 postgreSQL 컨테이너를 (server01-postgres) 연동하기 위해 settings.py 를 수정한다

 

  - vim settings.py

 

  - 다음과 같이 설정 파일 수정 후 저장

 

 

 

4. nginx 이미지 생성

 

  - host 로 이동한다.

   > exit

 

  - mkdir server01-workspace

   > nginx 이미지 생성을 위해서 디렉토리를 생성한다.

 

  - cd server01-workspace

 

  - mkdir mynginx

 

  - cd mynginx

 

  - vim DockerFile

 

  - 아래와 같이 작성

 

  - vim default.conf

 

  - 아래와 같이 작성

 

  - docker image build . -t mynginx

    > 이미지 빌드

 

  

5. django 이미지 생성 

 

   - cd ../ 

    > 상위 디렉토리로 이동한다.

 

   - cd ../

    > workspace 디렉토리로 이동한다.

 

   - vim requirements.txt 

 

   - django==4.2.13 

   - gunicorn==22.0.0

   - psycopg2==2.9.9

    > 필요한 django 와 gunicorn의 version을 입력한다.

   

 

  -  vim Dockerfile

    > 도커 이미지 생성 관련 설정

 

 

  - 다음과 같이 스크립트 작성

 

 

  - exit

   > host 로 이동

 

  - docker cp 대상컨테이너주소:/workspace workspace

   > 컨테이너에서 작업한 파일을 Host 에 복사 

 

  - docker image build . -t myweb

   > 도커 이미지 생성

 

6. django, nginx, postgreSQL 연동

 

  - docker network create mynetwork

   > 네트워크 생성

 

  - docker volume create myvloume

   > DB 볼륨 생성

 

  - 다음 명령어를 입력하여 postgreSQL 실행

 

docker container run --name mypostgres \

--network mynetwork \

-e POSTGRES_PASSWORD=admin \

--mount type=volume,source=myvolume,target=/var/lib/postgresql/data \

-d postgres

 

 

  - 다음 명령어를 입력하여 django 실행

 

docker container run -d --name mydjango --network mynetwork myweb

 

 

  - 다음 명령어를 입력하여 nginx 실행

 

docker container run -d --name mynginx --network mynetwork -p 80:80 mynginx

 

 

7. 실행 확인

 

 

 

 

 

 

 

'Docker' 카테고리의 다른 글

[DOCKER] 도커 컨테이너  (0) 2024.07.03
[DOCKER] 도커 컴포즈  (0) 2024.07.03
[DOCKER] ubuntu server - django 개발 환경 구축  (0) 2024.07.01
[DOCKER] Docker PostgreSQL 설치  (0) 2024.07.01
[DOCKER] Docker 우분투 설치  (0) 2024.07.01