布団が俺を呼んでいる

丘山大一のぶろぐ

nodejs勉強した頃の開発環境(備忘)

あまりにもWeb系世界が不得手だったので、コッソリとnodejsを勉強していた時がありました。
この本↓

Node.js超入門[第2版]

新品価格
¥3,240から
(2019/7/27 18:01時点)


言語仕様の説明は薄めで、実際にアプリを作りながら勉強していくタイプの本です。
動くものができあがるので結構楽しい良本。
が、色々勉強にはなったのですが、nodejsはあんまり肌にあってない感じある。
でもせっかくなので記録は残しておく。

というような自分メモ記事です。


開発環境について

VSCodeでガリガリ書くのはいいとして、nodejs自体はPC本体に入れたくない(バージョン管理から解放されたい)。
学習で使うmysqlもPC本体に入れたくない(DBは仕事で苦労した記憶が多いので本体に入れたくない)。
というわけで、これまた不得手であったdockerに手を出したのです。

そしてできた基本形がこちら。


docker-compose にnodeとmysqlを入れています。
ソースはnodeフォルダの中。
で、使う時になったらコンテナにdocker execしてnpm start OR  Sequal Proで接続。


docker-compose

当時、あちらこちらを参考にして書いた記憶。

version: '3'
services:
# DBサーバ
db:
container_name: nodeDb
build: .
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: test
MYSQL_PASSWORD: test
# Appサーバ
node:
container_name: nodeApp
build: .
image: node
ports:
- "80:3000"
volumes:
- ./node:/usr/app
command: "/bin/bash"
tty: true

アプリケーションサーバの方はポートのバインドしつつ、ソースコードを共有するためにvolumesでフォルダをバインド。
先に書いたように、実際に使う時はこのサーバに潜り込んでディレクトリを移動してからnpm startする感じです。

DBサーバは(当然のことながら)データを保存しておきたいので、volumesでフォルダをバインドしています。
また、やっていたらmysqlの最新版ではうまく動かなかったので5.7を利用した記憶があります。
DBコンテナに直接入ることはあまりなく、実際にはSequal Proで接続していました。


初めのうちはなんかうまくいかず苦戦した記憶。


問題は

他にもなにか作業していた気がするのですが、いかんせん大分前のことなので忘れました(汗)。
この通りにやっても動かなかった!
となっても責めないでください。



コメントを書く

布団が俺を呼んでいる | Blog

布団が俺を呼んでいる

丘山大一のぶろぐ

IISのお勉強 WordPressのインストール その1

http://fnya.cocolog-nifty.com/blog/2013/11/wordpress-windo.htmlhttp://techblog.hilife-jp.info/2013/0 [もっと読む]

おしえて! ギャル子ちゃん  アニメ化

マジっすか。http://www.galko-chan.com/気になるのは、ギャルンギャルンという擬音の演出。どうやって表現するんだろう? [もっと読む]

PowerShell ファイル数を数えての分岐

ファイル数を数えて、その数が一定数以下の場合、条件を満たしていないとして処理を中断させたかった。if((Get-ChildItem $Path | Measure-Object | %{ $_.Cou [もっと読む]

PowerShell Invoke-Sqlcmdが動かない場合の一時対応

地味にはまった。SQL Server2008R2 の入ったクライアントPCで、Invoke-Sqlcmdが通らず。他人のPCなので、あまり設定をゴチャゴチャ弄りたくない。そんな時は、下記コマンドを突っ [もっと読む]

PowerShell Invoke-Sqlcmd で SQLServerの名前付インスタンスにアクセス

地味~に苦戦。こことか見ながら。https://msdn.microsoft.com/ja-jp/library/hh231287.aspx上記サイト通りの「read-host 」を実行すると、パスワ [もっと読む]

PowerShell 64ビット判定

PowerShell バージョンによって違う? かもしれません。動作を確認したのはWindows7からアップグレードした直後のWindows10。なのでバージョン5.0。とりあえずProgramFil [もっと読む]

PowerShell 物理ドライブのドライブレター取得

やり方あるんですね。取得自体は簡単でした。Get-WmiObject Win32_LogicalDisk使う時はこんな感じ?foreach($Drive in Get-WmiObject Win32_ [もっと読む]

PowerShell ローカルアカウント一覧の取得

どうやるのが正解なのか今一つ分からなかった。Get-CimInstance -ClassName Win32_UserAccount -Filter "LocalAccount='true'"こちらで [もっと読む]

PowerShell Hostsファイルの更新 と 確認

Add-Content [もっと読む]

PowerShell Windows Server 終了時の理由入力を止める

正攻法は「ローカルグループポリシーエディター」-「コンピューターの構成」-「管理用テンプレート」-「システム」-「シャットダウン イベントの追跡ツールを表示する」から。でもあえてPowerShell [もっと読む]