はじめに
実践Node.js入門 を写経していたところ, Redisを立ち上げる必要が出てきました.
本文中にRedisをDockerで立ち上げる方法は記載されていたのですが, こちらの記事 で紹介した awesome-compose に Node.js と Redis の組み合わせがあったので, こちらを使って環境構築することにしました.
今回は, プロキシサーバに Nginx, バックエンドに Node.js, データベースに Redis を使ったアプリケーションの環境を構築します.
(ちなみに, Node.jsのライブラリExpressを使ったスタックもあるようです)
基本的にはREADME.mdの通りにやるだけなのですが, 例によって少々詰まってしまったので, 備忘録として残しておきます.
作業
git clone & ディレクトリに入る
$ git clone https://github.com/docker/awesome-compose.git
$ cd awesome-compose/nginx-nodejs-redis/
docker compose実行
$ sudo docker compose up -d
[+] Running 4/4
✔ Container nginx-nodejs-redis-redis-1 Running
✔ Container nginx-nodejs-redis-web2-1 Running
✔ Container nginx-nodejs-redis-web1-1 Running
✔ Container nginx-nodejs-redis-nginx-1 Started
接続確認
docker compose
で確認
$ sudo docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
nginx-nodejs-redis-redis-1 redislabs/redismod "redis-server --load…" redis 3 hours ago Up 13 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp
nginx-nodejs-redis-web1-1 nginx-nodejs-redis-web1 "docker-entrypoint.s…" web1 3 hours ago Up 7 seconds 0.0.0.0:81->5000/tcp, :::81->5000/tcp
nginx-nodejs-redis-web2-1 nginx-nodejs-redis-web2 "docker-entrypoint.s…" web2 3 hours ago Up 6 seconds 0.0.0.0:82->5000/tcp, :::82->5000/tcp
READMEでは localhost:80
にアクセスするといいよ, となっていましたが, 私の環境では localhost:81
または localhost:82
でした.
$ curl localhost:81 # web1: Number of visits is: 5
$ curl localhost:82 # web2: Number of visits is: 7
うまくいってますね。
Have a good awesome-compose life!