在WSL2上使用Docker来启动awesome-compose的nginx-nodejs-redis
首先
在跟着《实践Node.js入门》这本书敲写的过程中,突然出现了需要启动Redis的情况。
尽管本文中提供了使用Docker在Redis中启动的方法,但由于在这篇文章中介绍了Node.js和Redis的组合
的 awesome-compose,因此决定使用这个来进行环境配置。
这次我们将搭建一个应用环境,使用Nginx作为代理服务器,Node.js作为后端,Redis作为数据库。
(顺便提一下,还有使用Node.js库Express的技术栈选择)
基本上只需按照README.md的指示进行,但由于一如既往地遇到了一些困难,我将其作为备忘录留下来。
做功课
克隆Git仓库,并进入目录。
$ 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
你的生活过得真好!