質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

560閲覧

Dockerでpython3, MySQL apache2サーバ構築

newbie

総合スコア10

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/10/04 01:22

###前提・実現したいこと
Docker初心者です。
Dockerを使ってflask (Python Web Framework), MySQLを使ったwebアプリケーションをapacheサーバー上に作るためのコンテイナーを作ろうとしています。

###発生している問題
一通りdocker, apache, python周りのチュートリアルを見たのですが、いまいちどのようにDockerfile, docker-compose.ymlなどをを書いていったらいいのかわかりません。

###該当のソースコード
今の現状としてflaskのコンポーネントを丸写し状態ですが、docker上で動かすことはできています。
現状からflaskをapache2サーバに移し、また別のコンポーネントでMySQLサーバーを立ち上げdocker-compose upだけで環境を整えられる状態まで持っていきたいです。

Dockerfile

1# DockerHubのpythonから拝借したDockerfile 2FROM python:3.6.2-alpine3.6 3WORKDIR /usr/src/app 4COPY requirements.txt ./ 5RUN pip install --no-cache-dir -r requirements.txt 6COPY . . 7 8CMD [ "python", "./api.py" ]

###試したこと
apache2, python2, flask, MySQLというよくある構成ですので、GitHubにもう自分の実現しようししてることをアップロードしてくれている方がいらっしゃいました。
https://github.com/GrahamDumpleton/mod_wsgi-docker
ただ、Dockerについての理解を深めるのが目的ですので、基本を理解しつつミニマルな構成(python3, apache2, MySQL...)から始めていきたいと思っています。

###補足情報(言語/FW/ツール等のバージョンなど)
Dockerのバージョン

bash

1Docker version 17.06.2-ce, build cec0b72

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2017/10/04 02:37

基本的には、手動で行うコマンドをDockerFileに記載していけばよろしいかと。インスタンス生成時に決めたい環境変数などがあれば、シェルに入れるとか。さらに複数のインスタンスに跨って構成させる場合にcomposerを利用することになります。一度手動で構成すれば、だいぶ見えてくると思いますし、全てを教えてではなく、それぞれ不明点についてお聞きになると、理解も深まりますし、回答する側も適切に回答しやすいかと思います。
newbie

2017/10/04 03:52

ありがとうございます。全くt_oboraさんの仰るとおりだと思います。一度ダメ元でトライ下ののちまた質問させて頂きます。
guest

回答1

0

自己解決

質問の幅が広すぎたと判断いたしましたので、一度質問を取り下げさせて頂きます。

投稿2017/10/04 03:53

newbie

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問