株式会社HitsujiDesign 代表取締役 辻が仕事の話や趣味の話を書きます。

株式会社HitsujiDesign 辻ブログ

システム

【システム開発】Conoha VPSでDocker+Django構築(https対応)

投稿日:

おはこんばんちは!
株式会社HitsujiDesignの辻です。

最近はdjangoで遊んでいます。
今回はVPS上にdocker+djangoでサーバ構築したので、備忘も兼ねてやったことを書いていこうと思います。

※ 勉強中ゆえ、間違っている部分があるかもしれないですm(_ _)m

Dockerって?

ざっくりとしたジャンルでいうと仮想化技術の1つです。
Dockerfileにイメージの定義を記述し、その通りにイメージを構築します。
パブリックリポジトリのイメージを使用する場合、再配布が容易です。
つまりVMイメージそのものを配布する必要がないということですね。

Dockerで大事になる用語が「イメージ」と「コンテナ」です。
イメージはざっくりいうとVMイメージ
コンテナはざっくりいうとVMのプロセスに近いイメージです。

Dockerで動くコンテナ同士を関連付けることもできます。
その際登場するのが、「docker-compose」です。
まさに今回はdocker-composeを使用しています。

詳しくは以下のページを参照してください。

Djangoって?

PythonのFWの一種です。すごく楽にWEBアプリが開発できます。
個人的なイメージとしては、モデル設計(データ設計)が大事で、それに伴ってVIEWの設計を行っていくのがやりやすいです。
Controlの設計はほぼURLの設計を行うだけです。

また認証機能も標準で備わっており、それもまた便利です。

まずは単純にDjangoコンテナのみで構築してみる。

を参考にDockerfileなどを作成。

起動はしたものの、Chromeでは見れず。。。
どうやらhttps通信ができないことが原因のようだ。

そこでこんな疑問が・・・
「dockerでhttps通信の設定ってどうするんだ?」

https-portalを使えばいいらしい

上記記事にたどり着き、どうやらいい感じにやってくれるコンテナイメージがあるらしい。
というわけでhttps-portalを組み込んで見る。

簡単に解説すると
ホストがポート80、443で受けた通信をhttps-portalコンテナに転送し、その通信をwebコンテナに転送します。

docker-compose up してみると・・・

無事いつもの画面が表示されました!
あとはアプリを実装していくだけです。

 

Dockerおもしろい!

Dockerいいですね!
昔携わった案件でvagrantを使ったことがあるのですが、その時はよくわからずやってましたが
改めて勉強するとおもしろかったです!

キャッチアップで割と大変な(というより面倒くさい)環境構築が簡単にできるのは最高です。
弊社でも積極的に取り入れてまいります。

株式会社HitsujiDesign
https://hitsuji.design/

 

検索

検索

-システム

Copyright© 株式会社HitsujiDesign 辻ブログ , 2024 All Rights Reserved Powered by STINGER.