云计算核心技术Docker教程:使用卷和网络来持久化我们的数据
首先,我们将看看在容器中运行数据库,以及我们如何使用卷和网络来持久化我们的数据并允许我们的应用程序与数据库对话。然后,我们将所有内容整合到一个 compose 文件中,这将允许我们使用一个命令设置和运行本地开发环境。最后,我们将看看将调试器连接到我们在容器内运行的应用程序。 我们云计可以使用 MongoDB 的 Docker 官方镜像并在容器中运行它,而不是下载 MongoDB、安装、配置然后将 Mongo 数据库作为服务运行。 在容器中运行 MongoDB 之前,我们希望创建几个卷,Docker 可以管理这些卷来存储我们的持久数据和配置。让我们使用 docker 提供的托管卷功能,而算核不是使用绑定安装。您可以在我们的文档中阅读有关卷的所有信息。 现在让我们创建我们的卷。我们将为数据创建一个,另一个用于 MongoDB 的配置。 $ docker volume create mongodb $ docker volume create mongodb_config 现在我们将创建一个网络,我心技们的应用程序和数据库将使用该网络相互通信。该网络称为用户定义的桥接网络,它为我们提供了一个很好的 DNS 查找服务,我们可以在创建连接字符串时使用它。 $ docker network create mongodb 现在我们可以在容器中运行 MongoDB 并附加到我们上面创建的卷和网络。Doc术Dker 将从 Hub 拉取镜像并在本地为您运行。 $ docker run -it --rm -d -v mongodb:/data/db \ -v mongodb_config:/data/configdb -p 27017:27017 \ --network mongodb \ --name mongodb \ mongo 好oc的,现在我们有一个正在运行的 MongoDB,让我们更新server.js以使用 MongoDB 而不是内存数据存储。 const ronin = require( 'ronin-server' ) const mocks = require( 'ronin-mocks' ) const database = rekequire( 'ronin-database' ) const server = ronin.server() database.connect( process.env.CONNECTIONSTRING ) server.use( '/', mocks.server( server.Router(), fr教alse, false ) ) server.start() 我们已经添加了ronin-database模块并更新了代码以连接到数据库并将内存中的标志设置为 false。我们现在需要重建我们的图像,以便它包含我们的更改。 首先让ronin-database我们使用 npm将模块添加到我们的程:应用程序中。 $ npm install ronin-database 现在我们可以建立我们的形象。 $ docker build --tag node-docker . 现在,让我们运行我们的容器。但是这次我们需要设置CONNECTIONSTRING环境变量,以便我们的应用程序知道使用什么连接字符串来使用访问数据库。我们将在docker run命令中正确执行此操作。 $ docker run \ -it --rm -d \ --network mongodb \ --name rest-server \ -p 8000:8000 \ -e CONNECTIONSTRING=mongodb://mongodb:2701卷和7/yoda_notes \ node-docker 让我们测试一下我们的应用程序是否已连接到数据库并能够添加注释。 $ curl --request POST \ --url http://localhost:8000/notes \ --header 'content-type: application/网络json' \ --data '{"name": "this is a note", "text": "this is a note that I wanted to take while I was working on writing a blog post.", "owner": "peter"}' 您应该会从我们的服务来持中收到以下 json。 {"code":"success","payload":{"_id":"5efd0a1552cd422b59d4f994","name":"this is a note","text":"this is a note that I wanted to tak久化e while I was working on writing a blog post.","owner":"peter","createDate":"2020-07-01T22:11:33.256Z"}}
- 最近发表
- 随机阅读
-
- 机器人给你带来的奇妙购物之旅
- 标签: 苹果 追觅 OpenClaw 库克
- IDC:2021 年中国平板电脑市场预计全年增长 22.4%
- IBM与AMD联手冲刺量子计算,打造未来AI新生态
- 不用代码趣讲 ZooKeeper 集群
- 标签: 和记电讯香港 澳门电讯业务 霍建宁 电信行业
- 标签: 山西证券 汇通100 财富管理 资产管理
- 用户警惕!Anthropic Claude Desktop 被指悄悄安装间谍软件
- 云计算开发:Python内置函数-float() 函数详解
- 标签: 挚文集团 陌陌 探探 唐岩
- 标签: 美宜佳 烟草专卖 假烟事件 广东3·15晚会
- AI 时代来临,Perplexity CEO 称 iPhone 重要性将进一步增强
- 英伟达发布首款基于ARM架构的数据中心CPU 可能对英特尔构成威胁
- 百度电商引入大模型,重塑风控审核流程,商家用户双赢!
- 标签: 俞敏洪 新东方文旅 东方甄选 知识文旅
- Tahoe Bio重磅发布Tahoe-x1模型,AI“解码”生命语言,癌症研究迎来计算效率革命
- Teresa Carlson谈AWS的云实施标准开发,全球培训可访问性工作
- 标签: 星赛生物 元拉曼组 合成生物学 活体单细胞
- 标签: 央视财经 苹果 长鑫存储 袁隆平
- Google量子计算AI实验室大公开,并分享了未来十年的路线图
- 搜索
-
- 友情链接
-
- 标签: 康师傅
- 游戏视频平台Medal分拆AI实验室General Intuition:获1.337亿美元种子轮融资,专注空间-时间推理
- 阿里云季度营收增长34%,吴泳铭:需求旺盛,AI服务器上架节奏跟不上订单增长速度
- 390亿没了!库克不讲武德,国产巨头惨遭苹果“抛弃”
- 标签: 褚橙 云南褚氏农业
- 人工智能辅助的机器驱动数据自动标注方法
- 速卖通“新品闪电推”亮相:AI Agent自动整合资源,新品7天破零率翻倍
- 亚马逊CEO接班人贾西:致力于开发电子游戏
- TikTok测试应用内购买 加剧与Facebook竞争
- 字节跳动新举措!推出豆包股激励计划,吸引大模型人才
- 标签: 华与华 罗永浩 百万创意大奖赛