<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>flask | リューブログ</title>
	<atom:link href="https://ryuusan.com/tag/flask/feed/" rel="self" type="application/rss+xml" />
	<link>https://ryuusan.com</link>
	<description>就活生だった時の気づきや日常の発信のほか、技術ブログとしても運用しています。</description>
	<lastBuildDate>Fri, 30 Oct 2020 02:57:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://ryuusan.com/wp-content/uploads/2020/03/cropped-logo-32x32.png</url>
	<title>flask | リューブログ</title>
	<link>https://ryuusan.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Flaskの開発環境をDockerで構築する</title>
		<link>https://ryuusan.com/flaskdocker/</link>
					<comments>https://ryuusan.com/flaskdocker/#respond</comments>
		
		<dc:creator><![CDATA[リューさん]]></dc:creator>
		<pubDate>Fri, 30 Oct 2020 02:57:19 +0000</pubDate>
				<category><![CDATA[プログラミング学習]]></category>
		<category><![CDATA[flask]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://ryuusan.com/?p=383</guid>

					<description><![CDATA[目次 はじめに1. プロジェクトディレクトリを作成する2. requirements.txtを作成する3. Dockerfileを作成する4. docker-compose.ymlを作成する5. 実行するおわりに はじめ [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">はじめに</a></li><li><a href="#toc2" tabindex="0">1. プロジェクトディレクトリを作成する</a></li><li><a href="#toc3" tabindex="0">2. requirements.txtを作成する</a></li><li><a href="#toc4" tabindex="0">3. Dockerfileを作成する</a></li><li><a href="#toc5" tabindex="0">4. docker-compose.ymlを作成する</a></li><li><a href="#toc6" tabindex="0">5. 実行する</a></li><li><a href="#toc7" tabindex="0">おわりに</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">はじめに</span></h2>



<p>こんにちは。リューさんです。この記事ではタイトルの通り、DockerでFlaskの開発環境を構築する手順を紹介していきます。Flaskの公式サイトは<a href="https://flask.palletsprojects.com/en/1.1.x/">こちら</a>です。</p>



<h2 class="wp-block-heading"><span id="toc2">1. プロジェクトディレクトリを作成する</span></h2>



<p>まず、PC上にプロジェクトディレクトリを作成します。mkdirコマンドを使うか、GUIで作成しても構いません。名前は適当で大丈夫です。今回は<strong>testdir</strong>とでもしておきます。</p>



<p>次に、そのディレクトリ内にPythonファイルを作成し、以下のように記述します。この名前はapp.pyとしておきます。別の名前にしても大丈夫ですが、この後使用するので注意してください。</p>



<pre class="wp-block-code"><code>from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'


if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=8000)</code></pre>



<p>このファイルの詳細な説明はまた別の記事に書こうと思いますが、Dockerを利用して環境構築をする際にはファイル末尾の、&#8221;<strong>app.run(debug=True, host=&#8217;0.0.0.0&#8242;, port=8000)</strong>&#8220;という記述を忘れないようにしてください。portの部分は変えても大丈夫ですが、<strong>host=&#8217;0.0.0.0&#8242;</strong>が無いとアクセスすることができません。</p>



<p>ちなみに、Flaskのデフォルトポートは5000番らしいです。</p>



<h2 class="wp-block-heading"><span id="toc3">2. requirements.txtを作成する</span></h2>



<p><strong>requirements.txt</strong>を1で作成したプロジェクトディレクトリ内に作成します。以下のように記述してください。</p>



<pre class="wp-block-code"><code>flask</code></pre>



<p>このファイルでインストールするパッケージを管理します。</p>



<h2 class="wp-block-heading"><span id="toc4">3. Dockerfileを作成する</span></h2>



<p>2.と同様に、プロジェクトディレクトリに<strong>Dockerfile</strong>という名称のファイルを作成します。Dockerfileには以下のように記述してください。</p>



<pre class="wp-block-code"><code>FROM python:3.9-alpine
ADD . /code
WORKDIR /code
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
CMD &#91;"python", "app.py"]</code></pre>



<p>今回はpython3.9のイメージを使います。ファイル末尾のCMD<strong> [&#8220;python&#8221;, &#8220;app.py&#8221;]</strong>の&#8221;app.py&#8221;は1.で作成したpythonのファイル名に置き換えてください。</p>



<h2 class="wp-block-heading"><span id="toc5">4. docker-compose.ymlを作成する</span></h2>



<p>docker-compose.ymlというファイルをプロジェクトディレクトリ内に作成し、以下のように記述してください。</p>



<pre class="wp-block-code"><code>version: '3'
services:
  web:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/code</code></pre>



<h2 class="wp-block-heading"><span id="toc6">5. 実行する</span></h2>



<p>プロジェクトディレクトリ上で以下のコマンドを実行してください。コンテナが作成されるはずです。</p>



<pre class="wp-block-code"><code>docker-compose up -d</code></pre>



<p>もしこの時にエラーが出て、requirements.txtなどを修正した場合、上のコマンドを打ち直しても変更されません。そのような場合は、以下のようなコマンドを実行しましょう。</p>



<pre class="wp-block-code"><code>docker-compose build
docker-compose up -d</code></pre>



<p>無事コンテナが作成されたら、docker-machine ip [マシン名]で仮想マシンのipアドレスを取得し、ブラウザ上で</p>



<p><strong>&#8220;http://[取得したipアドレス]:8000&#8221;</strong>にアクセスしてください。マシン名は特に変更してない場合、<strong>default</strong>という名前になっているはずです。</p>



<p>アクセスできたら、app.pyで指定した通りhello world!が表示されていると思います。そうなれば成功です！</p>



<h2 class="wp-block-heading"><span id="toc7">おわりに</span></h2>



<p>この記事では、Dockerを利用してFlaskの環境構築を行う手順を紹介しました。使用したOSはWindows10ですが、マック等もそこまで変わらないはずです。</p>



<p>「動かない」「この部分は間違っている」等ご意見ありましたら、僕のTwitter(<a href="https://twitter.com/Ryu_programs">@Ryu_programs</a>)までご連絡いただければ幸いです。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ryuusan.com/flaskdocker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
