您的当前位置:首页 > 热点 > 云计算核心技术Docker教程:使用卷和网络来持久化我们的数据 正文
时间:2026-11-14 来源:网络整理 编辑:热点
谷歌快排【tg:seogoogle987】
首先,我们将看看在容器中运行数据库,以及我们如何使用卷和网络来持久化我们的数据并允许我们的应用程序与数据库对话。然后,我们将所有内容整合到一个 compose 文件中,这将允许我们使用一个命令设置和运行本地开发环境。最后,我们将看看将调试器连接到我们在容器内运行的应用程序。
我们云计可以使用 MongoDB 的 Docker 官方镜像并在容器中运行它,而不是下载 MongoDB、安装、配置然后将 Mongo 数据库作为服务运行。
在容器中运行 MongoDB 之前,我们希望创建几个卷,Docker 可以管理这些卷来存储我们的持久数据和配置。让我们使用 docker 提供的托管卷功算核能,而不是使用绑定安装。您可以在我们的文档中阅读有关卷的所有信息。
现在让我们创建我们的卷。我们将为数据创建一个,另一个用于 MongoDB 的配置。
$ docker volume create mongodb
$ docker volume create mongodb_config
现在我们将创建一个网心技络,我们的应用程序和数据库将使用该网络相互通信。该网络称为用户定义的桥接网络,它为我们提供了一个很好的 DNS 查找服务,我们可以在创建连接字符串时使用它。
$ docker network create mongodb
现在我们可以在容器中运行 MongoDB 并附加到我们上面创建的卷和网络术D。Docker 将从 Hub 拉取镜像并在本地为您运行。
$ docker run -it --rm -d -v mongodb:/data/db \
-v mongodb_config:/data/configdb -p 27017:27017 \
--network mongodb \
--name mongodb \
monocgo
好的,现在我们有一个正在运行的 MongoDB,让我们更新server.js以使用 MongoDB 而不是内存数据存储。
const ronin = require( 'ronin-server' )
const mocks = require( 'ronin-mocks' )
const databaseke = require( 'ronin-database' )
const server = ronin.server()
database.connect( process.env.CONNECTIONSTRING )
server.use( '/', mocks.server( server.Routerr教(), false, 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://mongod卷和b:27017/yoda_notes \
node-docker
让我们测试一下我们的应用程序是否已连接到数据库并能够添加注释。
$ curl --request POST \
--url http://localhost:8000/notes \
--header 'content-type: appl网络ication/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 w久化anted to take while I was working on writing a blog post.","owner":"peter","createDate":"2020-07-01T22:11:33.256Z"}}
标签: 甲骨文 AI基础设施 生成式AI 裁员2026-09-26
标签: Oladance 字节跳动 李浩乾 Ola Friend2026-10-31
谷歌上线AI新玩法:随手乱涂鸦,一键变怪兽2026-06-06
Twitter面向“超级用户”推出订阅服务 实现收入来源多样化2026-09-24
苹果大中华地区注册开发者数量增至440万2026-10-27
标签: 胡润富豪榜 马斯克 张一鸣 字节跳动2026-06-13
阿里云在5个国家投资新建数据中心 顶尖AI技术将首次出海2026-08-19
云计算开发:Python3集合内置add()方法2026-09-16
标签: DeepSeek DeepSeek-V4 大模型 API定价2026-10-16
环球音乐转向合作:与 Udio、Stability AI 携手重塑 AI 音乐格2026-07-07
Spotify在美国推出付费播客订阅平台 挑战苹果播客2026-07-18
标签: 寒武纪 AI芯片 人工智能 算力2026-06-19
涓�浗淇¢€氶櫌鍙戝竷鈥�2021 浜戣�绠楀崄澶у叧閿�瘝鈥�2026-07-15
人脸识别国家标准制定中:不得强制刷脸、验完应删除2026-06-17
再见“功能车”!大众发布全域智能体路线图,AI定义汽车时代已来2026-07-01
亚马逊和印度塔塔集团称印度政府新规将影响其业务2026-06-13
标签: 家居零售品牌 宜家 无印良品2026-07-06
数据分析一问:指标波动有多大,才算是大!2026-10-20