在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

你的生活过得真好!

广告
将在 10 秒后关闭
bannerAds