2
2

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 で Django のロケットを表示する 🚀

Posted at

Docker をインストール

適当にディレクトリを作って入る

mkdir ~/django_test
cd django_test

Dockerfile を作る

touch Dockerfile

Dockerfile を編集する

以下をコピペする

FROM ubuntu
RUN apt-get -y update && \
    apt-get -y install \
        python3 \
        python3-pip \
        vim
RUN pip3 install \
        django

作った Dockerfile をもとに Docker image 生成

docker build . -t django3

ちゃんと Docker image ができてるか確認

docker images

↓ こんな感じのが出力されれば OK

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
django3             latest              ae2afa4d1190        45 seconds ago      459MB

コンテナを生成して入る

ついでにボリュームのマウントとポートフォワーディングの設定をする

docker run -it -v $(pwd):/code -p 8000:8000 --name django_test django3 /bin/bash

ちょっと長いけど分解して見れば意外とシンプル

docker run django3 がベースのコマンドで、それに 4 つのオプションがついてるだけ

  • -it /bin/bash でコンテナに入る
  • -v $(pwd):/code で今いるディレクトリをコンテナ内の /code と共有する
  • -p 8000:8000 でホストのポート 8000 とゲストのポート 8000 をポートフォワーディング
  • --name django_test でコンテナに名前をつける

上のコマンドを実行して root@~ みたいなのがプロンプトに表示されれば OK

ちゃんと Python と Django がインストールされてるか確認

コンテナ内で以下を実行

python3 --version
    -> Python 3.8.2 
python3 -m django --version
    -> 3.0.8

startproject する

cd /code
mkdir django_test
cd django_test
django-admin startproject django_test

settings.py を編集する

settings.pyALLOWED_HOSTS0.0.0.0 を追加する

ALLOWED_HOSTS = ['0.0.0.0']

runserver する

manage.py があるディレクトリに移動してから以下を実行

python3 manage.py runserver 0.0.0.0:8000

ブラウザでロケットを確認

ブラウザで http://0.0.0.0:8000/ にアクセスする
ロケットが飛んでれば OK!! 🚀

djangorocket.png

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?