【機械学習の第一歩】Docker for MacでDjangoの環境構築をする

Django

はじめに

こんにちは、イエノカドです。

少し前から初学者の方たちも最初から取り組み始め出したと感じる機械学習ですが、

そもそもどのように取り組めば良いかわからないという方も少なくないと思います。

僕もその一人でした。

まずはじめにやることは機械学習に利用されるPythonという言語と

フレームワークでよく利用されているDjangoを学ぶことが一番良いと思っております。

なのでまずはDjangoの環境構築(初期設定画面の表示まで)を学んでいきましょう。

Djangoの設定手順

1. Docker for Mac のインストール

Mac に Docker Desktop をインストール — Docker-docs-ja 19.03 ドキュメント

今回は、Docker上にDjangoを設定していくため、

上記URLからあらかじめDocker for Macをインストールしておきましょう。

2. 空のワークスペースの作成

workspaceというフォルダを作成する(既にある場合はしなくてOK)

$ mkdir ~/workspace

workspaceフォルダ配下にdocker-djangoフォルダを作成する

$ mkdir ~/workspace/docker-django

docker-djangoフォルダに移動する

$ cd ~/workspace/docker-django

3. Dockerfileを作成

docker-djangoフォルダ配下にDockerfileという名前でファイルを作成し、

以下のコードをコピペしてください。

# syntax=docker/dockerfile:1
FROM python:3
ENV PYTHONUNBUFFERED=1
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/

4. requirements.txtを作成

docker-djangoフォルダ配下にrequirements.txtという名前でファイルを作成し、

以下のコードをコピペしてください。

Django>=3.0,<4.0
psycopg2-binary>=2.8

5. docker-compose.ymlを作成

docker-djangoフォルダ配下にdocker-compose.ymlという名前でファイルを作成し、

以下のコードをコピペしてください。

version: "3.9"
   
services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    depends_on:
      - db

6. Djangoのプロジェクトを作成

$ docker-compose run web django-admin startproject composeexample .

最終的に以下のようになるかと思います。

7. データベースへの接続設定

プロジェクトを作成してできた、composeexampleフォルダ配下のsettings.pyの変更をします。

上記画像のように変更します。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

上記記述がある箇所を探して、以下の記述に変更して上書き保存してください。

# DATABASES = {
#     'default': {
#         'ENGINE': 'django.db.backends.sqlite3',
#         'NAME': BASE_DIR / 'db.sqlite3',
#     }
# }
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': 'db',
        'PORT': 5432,
    }
}

8. Djangoプロジェクトを立ち上げる

$ docker-compose up -d

9. 初期設定画面にアクセス

http://localhost:8000/

上記にアクセスすると、下記のような画面表示がされればOKです。

お疲れ様でした!

参考

Django samples
Docker samples for Django.

今回、基本的には上記に基づいて環境構築をしてみました。

また、以下にPython、Djangoに関するおすすめの本を掲載しておきます。

最後に

ここまでできれば、機械学習アプリを作る第一歩はクリアしたといっても良いと思います。

ここからはさらにPythonという言語を学んだり、

Djangoの書き方を学んで、アプリケーションを作っていくことになると思います。

機械学習を学んでAIエンジニアを目指しましょう!

では、また会いましょう。

コメント

タイトルとURLをコピーしました