实战!手把手教你做基于WebSocket的聊天应用
快速体验
用户如果想直接在容器服务中体验该应用,可以直接使用下面这个应用模板在容器服务官方控制台按模板创建并且部署应用
ws-test:
image: 'registry.aliyuncs.com/linhuatest/websocket-chat-room:latest'
labels:
aliyun.routing.port_8080: 'http://chat'
aliyun.scale: '1'
ports: - 8080/tcp
restart: always
构建镜像
打开项目https://github.com/toolchainX/docker-nodejs-ws,fork到自己的代码仓库中,如下图所示。
登陆阿里云容器hub https://cr.console.aliyun.com/#/docker/image/create,创建仓库名称为websocket-chat-room,绑定github仓库,选择github项目名称为docker-nodejs-ws,勾选代码变更时自动构建镜像(代码推送到仓库后可以立即触发镜像自动构建),勾选海外机器构建(构建过程避免下载软件被墙,你懂得),选在进行镜像构建的github分支为master, 构建的目录为/build,构建的文件名称为Dockerfile,镜像的版本为latest,点击创建镜像仓库,如下图所示。
在镜像仓库列表页,选择websocket-chat-room,点击管理,进入管理页面,如下图所示。
在websocket-chat-room仓库详情页面,点击立即构建,如下图所示
构建成功后,得到镜像registry.aliyuncs.com/linhuatest/websocket-chat-room:latest
部署应用
登陆阿里云容器服务官方控制台https://cs.console.aliyun.com ,选择一个集群,点击创建应用,如下图所示。
在创建应用页面,编辑应用名称为"websocket-demo",点击使用编排模板创建,如下图所示。
在应用模板编辑框中输入以下内容
ws-test:
image: 'registry.aliyuncs.com/linhuatest/websocket-chat-room:latest'
labels:
aliyun.routing.port_8080: 'http://chat'
aliyun.scale: '1'
ports:
- 8080/tcp
restart: always
点击创建并部署
应用部署就绪后,点击进入应用websocket-demo
点击进入服务ws-test
查看到服务的访问端为http://chat.c4a49c2d702ae4927bccd04fc6d243b79.cn-hangzhou.alicontainer.com,点击该链接,打开页面,既能访问基websocket的聊天器应用,如下图所示。 具体应用代码实现参见https://github.com/toolchainX/docker-nodejs-ws
更多深度技术内容,请关注云栖社区微信公众号:yunqiinsight。