Docker for Macで Rails + PostgreSQLの開発環境を構築する

Mac + Rails + PostgreSQL の開発環境をDockerを使って、素早く構築するための手順です。

Docker for Macのインストール

こちらからDocker for Macをインストール ~ ダウンロード ~ Dockerアプリを起動します。

必要なファイルを作成

Railsアプリ用のディレクトリを作って、そこに移動します。今回はmyappとしました。

そして、作成したディレクトリに次の4つのファイルを以下の内容で作成します。
・ dockerfile
・ Gemfile
・ Gemfile.lock
・ docker-compose.yml

dockerfile

Gemfileは現時点では、これだけです。railsはバージョン指定なしで、最新版がインストールされます。

Gemfile

空のGemfile.lockを用意します。

Gemfile.lock(空のファイル)

docker-compose.yml

プロジェクトの構築

次のコマンドで上記ファイルを読み込み、Dockerコンテナ上に、Railsアプリケーションが作成されます。

Docker imageの作成

次のコマンドでdocker iamgeを作成します。

データベースの設定と作成

DBの設定を以下のように、追加します。

config/database.yml

そして、DBを作成するコマンドを実行します。

Dockerの起動

次のコマンドで、Dockerコンテナが立ち上がり、Rails Serverも起動します。

そして、http://localhost:3000にアクセスして、こちらのページが表示されたら、成功です。

コンテナの停止と起動

ショートカットの「Control + C」でコンテナが停止し、$ docker-compose up で起動します。
webサーバが正常に終了していない時に、次のようなログが出て、コンテナの起動に失敗することがあります。

そのような時はpid情報を削除するために、次のコマンドを実行すると解決します。

その他

開発中にrailsコマンドを実行する場合は 次のように、$ docker-compose run webをつけます。

また、Gemfileを更新したときは、$ docker-compose build をしなければいけません。なので、Gemfileを更新したときは、次の2つのコマンドを実行する必要があります。

この手間をなんとかしたいのですが、現状できていません。(泣)

以上です!ご覧いただき、ありがとうございました!!

【 Django入門】venv(仮想環境)でプロジェクトを立ち上げて GitHubにpushするまで

Pythonのwebフレームワークである、Djangoを Mac + venv(仮想環境) で、ローカル環境に立ち上げて、GitHubにpushするまでをメモしました。

Pythonのバージョン

MacOSの場合、デフォルトでPython2系がインストールされているかと思います。バージョンを確認する場合、ターミナルで以下のコマンドを実行します。

最新のバージョンをインストールする場合は、Python公式サイトよりダウンロードして、インストールしてください。(2018.10.24現在はPython 3.7.1)

venv(仮想環境)の作成

適当なディレクトリ(ここではd-project)を作って、そこに移動します。

python3のバージョンを指定して、次のコマンドで、venv(仮想環境)を作成します。(ここではmyvenv)venvはPython3.3 から標準で取り込まれています。

仮想環境をアクティブにします。

アクティブモードから抜けるときは $ deactivate です。

Djangoのインストール

Djangoのインストールには、pip(ピップ)というPythonのパッケージを管理するツールを使用します。Macはデフォルトでpipが導入されていて、 $ pip -V コマンドで確認ができます。まずはpipを最新バージョンにします。venv内ではpythonのバージョン指定は不要です。

次のコマンドを実行すると、最新のバージョンのDjangoがインストールされます。Django公式サイトにてlatest official versionが確認できます。

次のコマンドはpipで管理しているパッケージの確認ができます。

Djangoプロジェクトを作成

それでは次のコマンドでプロジェクト(ここではmysite)を作成します。コマンドの最後にピリオド . を忘れないように。これは、現在の作業ディレクトリにDjangoをインストールするということを示しています。

プロジェクトを起動する前に、myite/settings.pyに言語とタイムゾーンを日本に設定しておきます。

mysite/settings.py

次のコマンドを実行して、データベースを作成します。

サーバーの起動

次のコマンドでローカルサーバーの起動をします。

http://127.0.0.1:8000/ にアクセスして、次のような画面が表示されたら、成功です!ちなみに、サーバーの停止はショートカットで Control + C です。

GitHubへpush

GitHubのアカウントを取得していない場合はGitHubページから、アカウント登録をします。

ルート・ディレクトリで次のコマンドを打ち、Gitリポジトリの新規作成、または既存のGitリポジトリの再初期化を行います。

Gitはすべてのファイルの変更履歴を管理しますが、管理対象に含めたくないファイルは .gitignore をルート・ディレクトリに作成して管理します。内容は以下の通りとしました。

.gitignore

次のコマンドで、カレントディレクトリ(自分の今いるディレクトリ)以下の全てのファイルをステージングエリアに追加します。「.」がカレントディレクトリを示します。

「-m」フラグで、コミットメッセージをつけて変更をコミット(保存)します。

※「git add .」 と 「git commit -m」 を 一度に行う場合は「git commit -a -m “コミットメッセージ”」です。

GitHubページで New repository を作成しておき、次のコマンドでリモートリポジトリを追加します。

そして、次のコマンドで、ローカルリポジトリを、リモートリポジトリにプッシュ(同期)します。

Username と Password を聞かれるのでGitHubのアカウント設定のものを入力します。

以上です!ご覧いただき、ありがとうございました!😀

続編として、【Django入門】Hello Worldの表示と、Templateでhtmlページの表示も合わせて、ご覧ください!

PythonをAtomエディタのatom-runnerで実行する

本記事ではPythonの実行環境をAtomエディタとそのパッケージの「atom-runner」を使って簡単に構築する手順を載せております。

実行環境はこちらです。

MacOSの場合

MacOSの場合、デフォルトでPython2.7系がインストールされていて、直接実行することも可能です。実際にインストールされているかを確認するためには、「ターミナル」を使用すると簡単にできます。
ターミナルは、「アプリケーションフォルダ」内の「ユーティリティフォルダ」にインストールされています。
検索からターミナルを探す場合、ショートカットのCommand +スペースバーで、「Spotlight」を開いて、「terminal.app」と入力すると出てきますので、アプリを起動します。

ターミナルで以下のコマンドを実行すると、インストールされているバージョンが表示されます。

whichコマンドで、どこにインストールされているかパスがわかります。

最新版のPythonをインストール

デフォルトのバージョンではなく、最新版をインストールしたい場合の手順です。
※MacPortsやbrew等のパッケージ管理ソフトで、インストールしたい方は対象外です。

Python公式サイトより、Download Python 3.7.0(2018.10.5現在)をクリックして、インストーラーをダウンロードします。

インストーラーを開き、規約に同意してインストールします。

インストールを終えると、アプリケーションフォルダに「Python 3.7」が追加されます。フォルダ内の「Python Launcher」はPythonをファイルから実行するために必要なアプリで、「IDLE」はPythonの統合開発環境です。今回は使用しませんが、起動する場合、ターミナルから$ idle3コマンドでもIDLEが立ち上がります。

Atomのダウンロード

公式サイトからAtomをDownloadします。

atom-runnerのインストール

Welcome Guideの「Install a Package」をクリックしてから、「Open Installer」をクリックします。


出てきたSettingsの「Install Packages」のテキストボックスからatom-runnerを入力し、出てきた該当のパッケージを「Install」します。

また、Atomの言語を日本語に設定したい場合は、「japanese-menu」のパッケージをインストールしてください。

Pythonの実行

「untitle」のタブを選択し、Pythonでコードを記述し、拡張子が.pyのPythonファイルを作成します。atom-runnerの実行はMacOSの場合、Control + rです。すると、該当ファイルの実行結果が表示されます。

現状では、デフォルトのバージョンのPython2系が適用されているかと思いますので、上記でインストールしたPython3を適用する場合は、「Atom」 => 「Config」 と進み、「config.cson」というファイルに追記します。

Python3を指定した、以下の記述をconfig.csonに追記して保存します。

以下のコードを実行すると、変更されたバージョンの確認ができます。

ちなみにatom-runnerを閉じる時はescapeキーでできます。

以上です!ご覧いただき、ありがとうございました!!😀