LoginSignup
1
0

More than 5 years have passed since last update.

VPS + docker でdjangoの立ち上げまでで詰まったからメモ

Last updated at Posted at 2018-11-21

対象者

VPS + Docker + Djangoの環境構築で詰まった人

環境

Ubuntu 18.04(ConohaVPS)

前提

docker & docker-compose が使用可能

したいこと

docker で ポンっできましたくらいの勢いで、
Djangoのロケットが飛んでる画像がブラウザで見れるとこ作りたい.

詰まったところ

Django のALLOWED_HOST の設定がミスってた。

解決策
=> 立ち上げと同時に書き変えるようにbashfileに設定

構成

以下のような構成になってます。

Django/
 ├ Dockerfile
 ├ docker-compose.yml
 ├ startup.sh
 └ requirements.txt

各fileの中身

Dockerfile
FROM python:3.6
ENV PYTHONUNBUFFERED 1

RUN apt-get update
RUN mkdir /test
ADD requirements.txt /test/
WORKDIR /test
RUN pip install -r requirements.txt
RUN apt-get install -y vim
RUN django-admin startproject mysite
RUN cd mysite

COPY startup.sh /startup.sh
RUN chmod 744 /startup.sh
CMD ["/startup.sh"]
docker-compose.yml

version: '2'
services:
  web:
    build: .
    container_name: 'django'
    ports:
      - "8080:8000"

startup.sh
#!/usr/bin/env bash
pwd
cd mysite/mysite
pwd

ls

sed -i -e "s/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = \[\'ここに使用するIPアドレス or ドメイン or *\'\]/p" ./settings.py

ls
cat settings.py
cd ..
pwd
python3 manage.py runserver 0.0.0.0:8000
requirements.txt
Django>=2.1
PyMySQL

終わりに

startup .sh 内にsed でsetting.pyの中身を変更したことで解決しました。
startup.sh のpwdはコンテナのlog を確かめるために書いてたやつです。

ちょっと立ち上げたかっただけなので、他に開発環境などは作っていません。今後,がっつり開発に使うならDBなどの設定も考えて行きたいと思います。

1
0
1

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
1
0