0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

dockerでubuntuとDjangoをインストールする

Last updated at Posted at 2021-02-21

はじめに

チームで始める時や、複数のPCを使用する時にdockerの設定ファイルを作成しておくと楽ちん。
そろそろPCが増えそうなので、改めてdockerの設定ファイルを作成してみました。

dockerをインストールする

Get Started with Docker
https://www.docker.com/get-started

docker-composeとDockerfileを作成してインストールする

Djangoのソースを置く場所を決めて、そこに以下のファイルを置く。

docker-compose.yml
version: '3' 
services:
 db:
   image: postgres:13
   environment:
     POSTGRES_HOST_AUTH_METHOD: 'trust'
   container_name: "postgre"
 web: 
   build: . 
   command: python3 manage.py runserver 0.0.0.0:8000
   volumes:
     - .:/code
   ports:
     - "8000:8000"
   depends_on:
     - db
FROM python:3.8
# 環境変数 PYTHONUNBUFFEREDを設定 バイナリレイヤ下での標準出力とエラー出力を抑制
ENV PYTHONUNBUFFERED 1
# mkdirコマンドの実行
RUN mkdir /code
# 作業ディレクトリの設定
WORKDIR /code
# req.txtを/codeに追加する
COPY req.txt ./
# Pythonのパッケージ管理ツールのpipをアップグレード
RUN pip install --upgrade pip
# pipでreq.txtに指定されているパッケージを追加する
RUN pip install -r req.txt
# ローカルのディレクトリを/codeに追加する
ADD . /code
# ポートを開く
EXPOSE 8000
req.txt
Django>=3.1,<3.2
mysqlclient>=2.0,<2.1
gunicorn>=20.0,<21
psycopg2>=2.8,<2.9

Djangoのadminを作成する

docker-compose run --rm web django-admin.py startproject django_admin

setting.pyを修正する

setting.py
ALLOWED_HOSTS = ["*"]


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

変更内容をコンテナに反映する

docker-compose up -d

djangoを開く

以下が表示されればOK
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?