当前位置:首页 > 热点 > 云计算核心技术Docker教程:使用卷和网络来持久化我们的数据

云计算核心技术Docker教程:使用卷和网络来持久化我们的数据

2026-11-14 [数据安全] 来源:人文荟萃网

首先,我们将看看在容器中运行数据库,以及我们如何使用卷和网络来持久化我们的数据并允许我们的应用程序与数据库对话。然后,我们将所有内容整合到一个 compose 文件中,这将允许我们使用一个命令设置和运行本地开发环境。最后,我们将看看将调试器连接到我们在容器内运行的应用程序。

我们云计可以使用 MongoDB 的 Docker 官方镜像并在容器中运行它,而不是下载 MongoDB、安装、配置然后将 Mongo 数据库作为服务运行。

在容器中运行 MongoDB 之前,我们希望创建几个卷,Docker 可以管理这些卷来存储我们的持久数据和配置。让我们使用 docker 提供的托管卷功算核能,而不是使用绑定安装。您可以在我们的文档中阅读有关卷的所有信息。

现在让我们创建我们的卷。我们将为数据创建一个,另一个用于 MongoDB 的配置。

$ docker volume create mongodb

$ docker volume create mongodb_config

现在我们将创心技建一个网络,我们的应用程序和数据库将使用该网络相互通信。该网络称为用户定义的桥接网络,它为我们提供了一个很好的 DNS 查找服务,我们可以在创建连接字符串时使用它。

$ docker network create mongodb

现在我们可以在容器中运行 MongoDB 并附加到我们上面创建的卷和网络。术DDocker 将从 Hub 拉取镜像并在本地为您运行。

$ docker run -it --rm -d -v mongodb:/data/db \

-v mongodb_config:/data/configdb -p 27017:27017 \

--network mongodb \

--name mongodb \

mocongo

好的,现在我们有一个正在运行的 MongoDB,让我们更新server.js以使用 MongoDB 而不是内存数据存储。

const ronin = require( 'ronin-server' )

const mocks = require( 'ronin-mocks' )

const databkease = require( 'ronin-database' )

const server = ronin.server()

database.connect( process.env.CONNECTIONSTRING )

server.use( '/', mocks.server( server.Routr教er(), 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://mongodb:27017/卷和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 take whil久化e I was working on writing a blog post.","owner":"peter","createDate":"2020-07-01T22:11:33.256Z"}}

(责任编辑:招商政策)

推荐文章
  • 澳大利亚要求谷歌和Facebook为新闻付费 但新闻网站可能造假

    澳大利亚要求谷歌和Facebook为新闻付费 但新闻网站可能造假 新浪科技讯 北京时间12月24日早间消息,据报道,澳大利亚通过一项法案,要求谷歌、Facebook等平台向当地出版商支付新闻内容使用费,但这一政策碰到了问题。专家们说,有网站利用假记者身份赢得监管机构...[详细]
  • 标签: 佳饰家 招股书 新材料 浸渍纸

    标签: 佳饰家 招股书 新材料 浸渍纸 云梦级12月31日云梦级消息,江苏佳饰家新材料集团股份有限公司(简称:“佳饰家集团”)日前日前递交招股书,准备在深交所主板上市。佳饰家计划募资7.7亿,其中,6.69亿用于智能绿色工厂建设项目,714...[详细]
  • 歌曲朋友别哭

    歌曲朋友别哭 前言:答:歌名:《朋友别哭》填词:陈乐融谱曲:莫凡歌曲原唱:吕方有没有一扇窗能让你不绝望看一看花花世界原来像梦一场有人哭有人笑有人输有人老到结局还不是一样有没有一种爱能让你不受伤这些年堆积多少对你的知...[详细]
  • 标签: SpaceX Starlink 马斯克 IPO

    标签: SpaceX Starlink 马斯克 IPO 云梦级12月10日云梦级消息,据彭博社报道,知情人士透露,SpaceX 正积极推进IPO,拟募资规模将远超 300 亿美元(现汇率约合 2123.38 亿元人民币),若成功实施,这将成为有史以来规模最...[详细]
  • 云计算核心技术Docker教程:Docker 容器更改/etc/hosts文件

    云计算核心技术Docker教程:Docker 容器更改/etc/hosts文件 除了环境变量之外,Docker 还在/etc/hosts文件中添加了源容器的主机条目。这是web 容器的条目: $ docker run -t -i --rm --link db:webdb trai...[详细]
  • 标签: 广汽集团 冯兴亚 GOVY 换电标准

    标签: 广汽集团 冯兴亚 GOVY 换电标准 云梦级3月4日云梦级消息,第十四届全国人民代表大会第四次会议将于2026年3月5日在北京召开。全国人大代表,广汽集团党委书记、董事长冯兴亚今年携多份建议赴京,紧扣新质生产力、科技创新、民生保障等核心议...[详细]
  • 苹果两款新iPad齐曝光:售价1000多

    苹果两款新iPad齐曝光:售价1000多 外媒报道,今天入门级iPad(也被称为iPad 9)将采用与iPad Air 3类似的设计,而iPad Pro外观可能没有任何改变。 第9代iPad,将具有与第8代相同的10.2英寸显示屏,但是重量会...[详细]
  • Facebook侵犯隐私案签和解协议:赔偿160万用户6.5亿美元

    Facebook侵犯隐私案签和解协议:赔偿160万用户6.5亿美元 新浪科技讯 2月28日上午消息,据报道,周五,美国加州地方法官已经同意他所称的“有史以来最大规模的隐私诉讼和解”,同意Facebook向约160万名用户支付共6.5亿美元的赔偿,这些用户指控该公司未经...[详细]
  • 蚂蚁链发布BTN:可将区块链网络吞吐量提升186% 带宽成本降低80%

    蚂蚁链发布BTN:可将区块链网络吞吐量提升186% 带宽成本降低80% 6月23日消息,在蚂蚁链开发者大会上,区块链高速通信网络BTN(Blockchain Transmission Network)正式对外发布。据悉,这是一个面向全球可信数字网络建设的通信技术方案。 根...[详细]
  • 人工智能和机器人技术的使用案例

    人工智能和机器人技术的使用案例 人工智能和机器人技术正在给科技领域带来巨大的变化。人们在20年前的梦想现在已经变成了现实。从制造厂的自动化系统到餐馆里的自助机器人,科技不断发展,推动人类文明的进步。 在当今世界,人工智能和机器人作为...[详细]