基于Nginx, Node.js 和 Redis的Docker容器化工作流

在本文中我们学习,我将详细介绍基于Docker的示例工作流的一些概念。对于这个例子,我有一个非常简单的Node.js应用程序,用于递增存储在Redis上的计数器。我将Redis和Node应用程序独立开,因为我希望能够根据负载来扩展节点应用程序。首先,我有3个运行该应用程序的节点服务器实例。还有一个Nginx节点位于应用程序之前,用于节点实例的负载均衡。
我们可以想象得到我们的容器结构:

  • 1个Redis容器
  • 3个Node容器
  • 1个Nginx容器
    我们的业务架构应该如下图所示:

DockerSample

我们可以使用Docker命令从头开始构建容器,但为了更容易,我们将写一个Dockerfile,它可以为我构建容器。后面我们也会用到Docker Compose来编排我们应用程序的Docker容器。

Redis 容器

让我们使用来自DockerHub的官方Redis镜像作为Redis容器。它预先安装了Redis服务器,并在默认端口6379上运行。因此,只要您确定了默认设置,就不需要配置任何设置。您可以直接从Redis映像创建并运行容器:

docker run -d --name redis -p 6379:6379 redis

你也可以从基础Ubuntu映像构建Redis映像,Dockerfile将如下所示:

# Set the base image to Ubuntu
FROM        ubuntu

# File Author / Maintainer
MAINTAINER Anand Mani Sankar

# Update the repository and install Redis Server
RUN         apt-get update && apt-get install -y redis-server

# Expose Redis port 6379
EXPOSE      6379

# Run Redis Server
ENTRYPOINT  ["/usr/bin/redis-server"]

Node.js 容器

我们先来搭建一个Node应用程序。这里就不过多解释Node.js程序编写了。这里的示例代码将用Redis 的INCR命令完成访问次数统计的功能。我使用node-redis模块和hiredis来获得更好的性能。


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值