理由
Techpitさんの講座の「【Django】Amazon風簡易ECサイトを作ってみよう!」の受講の際に、Djangoを使用することとなったが、その時の環境構築をDockerで行いたいと思ったためです。
実装
Dockerfile
FROM ubuntu:latest
ADD requirements.txt .
RUN apt-get update && apt-get install -y \
&& apt-get install -y python3 python3-pip\
&& apt-get install -y curl \
&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \
&& python3 get-pip.py \
&& pip install -r requirements.txt \
&& rm requirements.txt \
&& rm get-pip.py
WORKDIR /django-ec
CMD ["bash"]
- FROM
- ubuntu環境を持ってきています
- ADD
- `Dockerfile`と同じ階層にある`requirements.txt`をコンテナに持っていきます
- RUN
- ADDでRUNで主な環境構築を行なっています。
- ubuntuの場合、apt-getを用いて様々なものをインストールできます。
- WORKDIR
- django-ecというフォルダを作り、そこに移動します
- CMD
- デフォルトではbashを起動します
docker-compose.yml
version: '3'
services:
django:
build: .
ports:
- '8002:8002'
volumes:
- '.:/django-ec'
tty: true
stdin_open: true
毎回、docker run
の時にオプションをつけるのがめんどくさいので、docker-compose.yml
を作成しました。
requirements.txt
django
Pillow
今回の講座でdjango
意外にも画像を扱うPillow
も使っていました。
まとめ
Dockerを用いて環境構築をするのは、思っているより簡単なので、今後もたくさんDockerを使って環境構築をしていきたいと思います。