云计算核心技术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 并附加到我们上面创建的卷和网络。术DDocker 将从 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.Router()r教, 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:2701卷和7/yoda_notes \
node-docker
让我们测试一下我们的应用程序是否已连接到数据库并能够添加注释。
$ curl --request POST \
--url http://localhost:8000/notes \
--header 'content-type: applicatio网络n/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 while I was working on writing a blog post.","owner":"peter","createDate":"2020-07-01T22:11:33.256Z"}}
- ·无刘海+折叠,苹果的新iPhone手机你喜欢吗?
- ·标签: 吉利汽车 雷达品牌 中国星 皮卡
- ·1.2万亿参数:谷歌通用稀疏语言模型GLaM,小样本学习打败GPT-3
- ·标签: SpaceX xAI 奇瑞QQ 胡润品牌榜
- ·粉皮怎么做
- ·Invisible成功融资1亿美元,助力企业构建 AI 培训平台
- ·标签: 百度 李彦宏 文心大模型 AI搜索
- ·标签: 路虎揽胜极光L 奇瑞捷豹路虎 SE HSE
- ·AI 技术简化动漫制作流程,ToonComposer实现自动上色和生成动画
- ·“大数据杀熟”行为有了细化认定标准
- ·云计算核心技术Docker教程:Docker Hub构建钩子和源存储库
- ·2040张图片训练出的ViT,准确率96.7%,连迁移性能都令人惊讶
- ·标签: 阿里巴巴 钉钉 陈航 无招
- ·阿里云百炼全面支持MCP服务部署与调用,几分钟即可搭建Agent
- ·机器人流程自动化的发展展望
- ·MiniMax启动期权增发:激励覆盖全序列核心员工
- ·https://www.paxnet.co.kr/search/jongmok?kwd=谷歌外推【tg:seogoogle987】8c9
- ·https://www.sic-info.org/?s=谷歌外推【tg:seogoogle987】,kPX
- ·https://www.teamlab.art/ko/?submit=谷歌外推【tg:seogoogle987】,6EE
- ·https://www.polliwogs.com/search/谷歌外推【tg:seogoogle987】,Dcm
- ·https://www.youthforum.org/search-results?cx=4f5236218ab5e8ef9&ie=UTF-8&q=谷歌外推【tg:seogoogle987】,f8s
- ·https://xn--lgernevedlystskoven-lxb.dk/search/谷歌外推【tg:seogoogle987】,gM0
- ·https://www.woorden.org/spreekwoord.php?woord=谷歌外推【tg:seogoogle987】,c0h
- ·https://www.merchbar.com/search?q=谷歌外推【tg:seogoogle987】,cgx
- ·https://www.roberthalf.com/us/en/jobs/all/谷歌外推【tg:seogoogle987】7f9
- ·https://www.goodreads.com/quotes/tag/谷歌外推【tg:seogoogle987】ecI
