ITエンジニア 環境構築

DockerでDjangoフレームワークを利用する

こんにちは、ともです。

今回はUbuntuにDockerを使ってDjangoフレームワークをインストールします。インストール後にDjangoのプロジェクトを作成します。

前回までの内容は以下の通りです。

手順

手順は以下の通り行います。






作業用ディレクトリ

作業用ディレクトリを作成します。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
  

requirements.txt

requirements.txtを作成します。docker_wwwの下に作成します。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
                   ┗requirements.txt
  

requirements.txtに記載する内容は以下の通りです。

    
Django == 2.2
gunicorn == 19.9.0
    
  

Dockerfile

Dockerfileを作成します。docker_wwwの下に作成します。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
                   ┣requirements.txt
                   ┗Dockerfile
  

Dockerfileに記載する内容は以下の通りです。

    
# pull official base image
FROM python:3.7-alpine

# set work directory
RUN mkdir /code
WORKDIR /code

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV DEBUG 0

# install psycopg2
RUN apk update \
    && apk add --virtual build-deps gcc python3-dev musl-dev \
    && apk add postgresql-dev \
    && pip install psycopg2 \
    && apk del build-deps

# install dependencies
COPY ./requirements.txt .
RUN pip install -r requirements.txt

# copy project
#COPY . .
ADD . /code/

    
  

docker-compose.yml

docker-compose.ymlを作成します。コマンド実行はdocker_wwwの配下で行います。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
                   ┣requirements.txt
                   ┣Dockerfile
                   ┗docker-compose.yml
  

docker-compose.ymlに記載する内容は以下の通りです。


version: "3"

services:
  web:
    build: .
    volumes:
      - .:/code
    ports:
      - 8000:8000
    command: python manage.py runserver 0.0.0.0:8000

    
  

プロジェクト作成

websiteという名前のプロジェクトを作成します。コマンド実行はdocker_wwwの配下で行います。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
                   ┣requirements.txt
                   ┣Dockerfile
                   ┗docker-compose.yml
  

以下のコマンドを実行します。

  
sudo docker-compose run --rm web django-admin startproject website .
  

実行

docker_www配下で実行します。

  
/data
 ┗ /work
      ┗  /docker
             ┗  /docker_www
                   ┣requirements.txt
                   ┣Dockerfile
                   ┗docker-compose.yml
  

以下のコマンドを実行します。

  
sudo docker-compose up
  

windowsのブラウザで確認します。

http://localhost:8000/

画面が表示されない場合はVartualBoxのポートフォワーディングを追加することで表示される場合があります。

まとめ

今回はDockerでDjangoのフレームワークを作成しプロジェクトを作成しました。

次回はWebアプリを作りたいと思います。

コメント

0 件のコメント:

コメントを投稿

コメントをお待ちしています。