Flask+MySQL on dockerを始める準備
Flask+MySQL on dockerの準備をするための記事です。
以下の用意ができましたら
Flask+MySQL on docker
を実施してみてください。
事前準備
- エディタ
- pythonインストール
- pipインストール
- pipenvインストール
- mysqlインストール
- gitインストール
- dockerインストール
エディタ
コーディングもするので使い慣れたエディタも用意してください。
私はemacsを使いたいのですがvscodeを使う人が社内では多そうです。
vscodeを使う場合、Pythonインストール、VS Codeインストールをしておきましょう。Windows + Python 3.6 + PipEnv + Visual Studio Code でPython開発環境などに記事がありました。
python
新しめのversionのpythonをインストールしておきます。3.7以降が良いでしょう。
後からインストールするpipenvによりプロジェクト毎にpythonのversionを指定できるのでversionが異なっていても大丈夫です。
Windows
Python公式サイト又はWindows 環境のPythonよりダウンロードしてインストールしてください。
画面をスクロールし、Filesよりインストーラをダウンロードします。
ダウンロードしたファイルを実行します。
Add Python 3.10 to PATHにチェックしてインストール時にpythonの実行ファイルをPATHに登録しましょう。
その後Install Nowをクリックします。
インストールが済むと次の様に表示されます。
もし、設定やインストール漏れがあった場合、インストーラーを起動し、Modifyをクリックすることで追加インストールなどできます。
Mac
macOS環境のPythonなどを参考に homebrew でインストールしてください。
次のコマンドでインストールできます。
$ brew install python3
pip
pip
などにインストール方法とpipの説明があります。
pipの代わりにpy.exeもあると書かれていますが、pyはwindowsだけのコマンドみたいです。
pipenv
pipenvを使って、pythonのバージョンや、pipでインストールするパッケージを開発メンバーと共有します。
Pipenvを使ったPython開発まとめ
MySQL
MySQL 日本語版公式サイト - ダウンロードより MySQL Community (GPL) Downloadsの5.7.xをダウンロードしましょう。
パッケージはサーバーですが勉強会で使うのはパッケージに含まれるクライアント(Command Line Client)です。
インストール方法やCommand Line ClientについてはMySQLのダウンロード&インストールと初期設定方法や
MySQLのデータベースに接続する3つの方法と接続手順
Flask+MySQL on dockerではdockerの中にMySQLのDBを作りますが、PCのスペック等でdocker動かすのが難しい方は、MySQLのサーバーを開発PCで動かしdockerを使わなくても構いません。
次を参考にdockerを使う方は、MySQLサーバーのサービス自動起動を停止しておいてください。
git
Flask+MySQL on dockerではgit及びgithubを使います。gitが入っていることを確認してください。
Windows
Windowsの人は Git for Windowsをインストールしましょう。
サイトにアクセスし、インストーラのDownloadし、実行してください。
次の画像の項目にチェックして次へボタンを押下する。
その後も基本デフォルトの選択肢のまま進めば良い。
デフォルトブランチをmasterにする。
git bashにUnixのコマンドを混ぜる。gitには関係ないが便利になるためお勧めします。
sshのインストール。
改行コードの設定。WindowsとUnixでの改行コードの違いを認識できていなければデフォルト設定が良いでしょう。
ターミナルアプリをインストールしますがpythonと相性が悪い様なので今回はUse windows default console windowを選びましょう。
マージの際、全てのログがそのまま残るfast-forwardを選択します。
Mac
Macはhomebrewでインストールします。
$ brew install git
gitのリポジトリ、ソースコード管理サービス登録用sshキーの作成
ソースコード管理サービスにコマンドラインからアクセスする場合、都度ユーザー名、パスワードを入れて認証するのは煩わしいため、予めユーザーの公開鍵を登録しておきsshを使って暗号鍵で認証することで認証フェーズをコマンドで入力しなくてもサービスを使うことができます。
Windows
sshを使ったことがなければ自分のホームディレクトリに.ssh
ディレクトリがないので作りましょう。
$ pwd
/c/User/myuser
$ mkdir .ssh
$ cd .ssh
次のコマンドを入力して秘密鍵(id_rsa)と公開鍵(id_rsa.pub)を作ります。
Enter passphraseには何も入れずエンターキーを押してください。
パスフレーズを設定するとソースコード管理サービスとやり取りするgitコマンドを実行した時にパスフレーズを求められることがあります。
$ ssh-keygen.exe -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/myuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/myuser/.ssh/id_rsa
Your public key has been saved in /c/Users/myuser/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:nw4NxDQ4NO4OjXLfTqlQlJIab917i0bJnH4hLroMjKg myuser@pc
The key's randomart image is:
+---[RSA 3072]----+
| .o.o |
| oo= . |
| . o +.o |
| + B o |
| o * =oSo |
|.o + = .B*.. |
|o o . o+*.=. |
|. o ..++=.. |
|E +o.oo.o |
+----[SHA256]-----+
$
Mac
macの場合もWindosと同様です。
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/myuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in test_rsa
Your public key has been saved in /Users/myuser/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:jDNPg0BAdQUX539YR7HiRAJpDrknSwffXKlhu7fmIn8 myuser@pc.local
The key's randomart image is:
+---[RSA 3072]----+
| .ooo oo=o+. ...o|
| . . = = ooo ..|
| . B = =o...|
| . B = *oo.. |
| * S +.. |
| * . . o |
| . . . |
| . . E |
| o.=. |
+----[SHA256]-----+
次にgithubにアカウントを作ってsshのキーを登録しておいてください。
2022年の社内研修ではAWS Code Commitを使います。
これをやっておくとコマンドラインで認証操作をせずにgit操作ができる様になります。
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
[Windows 10] Git BashでGitHubにSSH接続
gitで知っておきたいことはコード変更の登録とマージ方法です。
もし、本など持っていれば勉強会の時に用意しておきましょう。
docker
Windows に Docker Desktop をインストールを参考にdockerをインストールしてください。
HomeとProで異なるのでご注意ください。
2022年の社内研修では無理にdockerを使わなくても大丈夫です。