Linux 实战 Docker 容器安装 MongoDB,阿里 Docker 镜像仓库加速

简介: Docker是最流行的开源容器工具,互联网公司大规模集群部署和运维的利器,思想起源于Linux系统的Container思想。本文我们会使用Docker实战MongoDB数据库。


1.png

作者:徐雷frank
Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)。
Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选。
Docker CE 有两个更新渠道,即 stable 和 edge:
Stable 每个季度提供可靠更新;
Edge 每个月提供新功能更新。一般我们选择stable可以了,本文实战选择也是。
在2016年10月13日,杭州·云栖大会上,Docker与阿里云宣布达成战略合作,Docker的中国镜像仓库由阿里巴巴提供,国内开发者可以免费使用。
今天我们的演示也使用阿里云Docker仓库。我们选择的是Linux Ubuntu 16.04系统。

1、安装首先安装传输加密组件,然后来下载docker

sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
2.png

2、安装阿里云docker 安全协议GPG证书

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

3、仓库写入软件源信息,选择stable版本

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
3.png

4、更新资源列表,安装新版本Docker-CE,社区版本。

sudo apt-get -y update
sudo apt-get -y install docker-ce
4.png

5、检查Docker版本,是否成功安装

输入docker version命令,可以查看安装的Docker版本信息。
5.png

6、运行Docker Hello World

最简单的例子就是 Hello world,docker会从服务器拉去hello world镜像,并且在本地运行。
sudo docker run hello-world
6.png

Docker安装成功,并且可以执行最简单的镜像,入门例子。下面开始安装特殊的镜像,Mongodb作为例子。

7、Docker实战安装MongoDB

Mongodb是NoSQL排名第一的数据库,在互联网、物联网、大数据领域广泛使用。欢迎大家参加MongoDB中国的技术大会,也欢迎收看我在阿里云大学的MongoDB高级课程和认证。
《阿里巴巴MongoDB4.0高级实战:基于Java Spring Boot》阿里巴巴技术大牛 资深专家P9叶翔、特邀讲师徐雷
阿里云大学官方网站 https://edu.aliyun.com/workshop/3/course/1044
《阿里巴巴Java和MongoDB认证》基于最新Java Spring Boot和MongoDB 阿里云大学官方网站https://edu.aliyun.com/certification/cldc14
使用Docker安装mongodb,先使用Docker search mongo搜索服务器上的可用镜像,执行pull拉去操作即可。。
7.png

星星最多的5000多棵,评价最高,就选择第一个,Official 代表是否官方发布的镜像。选择第一个是官方的mongodb镜像。
输入docker pull mongo命令,下载mongodb镜像
8.png

多线程多任务并行下载文件。等待完成。
9.png

8、Docker运行MongoDB

输入docker images

查看本地下载的镜像文件,发现mongo已经下载完毕,可以运行。

docker运行mongodb,可以指定参数,docker的参数,以及mongodb的控制参数,比如数据位置、端口,内存大小,以及安全模式等。
sudo docker run --name hello-mongodb-docker -d -p 27017:27017 -v ~/data:/data/db mongo

10.png

9、使用mongodb客户端连接测试

这里我们可以使用命令客户端mongo连接运行的mongodb.
sudo install mongo-clients.
11.png

因为mongodb使用的端口是27017,所以直接使用mongo客户端连接即可。
12.png


证明已经可以正常连接docker容器安装启动的mongodb数据库

10、Docker容器停止mongodb数据库

要停止已经启动的服务,可以使用运行的镜像程序的名字或者id停止。
13.png

这样就可以停止已经启动的服务。Docker除了使用已经发布的镜像,我们自己也可以i 制作镜像,但是常用的命令,search、pull、run、Stop、足够,大家也可以查看官方文档获取最新的说明。

参考:

https://docs.docker.com/samples/library/mongo/
https://docs.mongodb.com/manual/tutorial/install-mongodb-enterprise-with-docker/

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
12月前
|
NoSQL IDE MongoDB
Studio 3T 2025.11 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.11 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
616 3
|
存储 NoSQL API
微服务——MongoDB实战演练——需求分析
本文档《5-MongoDB实战演练》聚焦于某头条文章评论业务的需求分析与功能实现。基于MongoDB,需完成以下功能:1)提供基本的增删改查API;2)支持通过文章ID查询相关评论;3)实现评论点赞功能。结合实际业务场景,演示MongoDB在数据存储与操作中的应用,附带示意图帮助理解业务结构。
239 2
微服务——MongoDB实战演练——需求分析
|
9月前
|
NoSQL IDE MongoDB
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
536 1
Studio 3T 2025.17 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
NoSQL MongoDB 微服务
微服务——MongoDB实战演练——文章评论的基本增删改查
本节介绍了文章评论的基本增删改查功能实现。首先,在`cn.itcast.article.dao`包下创建数据访问接口`CommentRepository`,继承`MongoRepository`以支持MongoDB操作。接着,在`cn.itcast.article.service`包下创建业务逻辑类`CommentService`,通过注入`CommentRepository`实现保存、更新、删除及查询评论的功能。最后,新建Junit测试类`CommentServiceTest`,对保存和查询功能进行测试,并展示测试结果截图,验证功能的正确性。
319 2
|
NoSQL Java MongoDB
微服务——MongoDB实战演练——文章评论实体类的编写
本节主要介绍文章评论实体类的编写,创建了包`cn.itcast.article.po`用于存放实体类。具体实现中,`Comment`类通过`@Document`注解映射到MongoDB的`comment`集合,包含主键、内容、发布时间、用户ID、昵称等属性,并通过`@Indexed`和`@CompoundIndex`注解添加单字段及复合索引,以提升查询效率。同时提供了Mongo命令示例,便于理解和操作。
251 2
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——MongoTemplate实现评论点赞
本节介绍如何使用MongoTemplate实现评论点赞功能。传统方法通过查询整个文档并更新所有字段,效率较低。为优化性能,采用MongoTemplate对特定字段直接操作。代码中展示了如何利用`Query`和`Update`对象构建更新逻辑,通过`update.inc("likenum")`实现点赞数递增。测试用例验证了功能的正确性,确保点赞数成功加1。
299 0
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——根据上级ID查询文章评论的分页列表
本节介绍如何根据上级ID查询文章评论的分页列表,主要包括以下内容:(1)在CommentRepository中新增`findByParentid`方法,用于按父ID查询子评论分页列表;(2)在CommentService中新增`findCommentListPageByParentid`方法,封装分页逻辑;(3)提供JUnit测试用例,验证功能正确性;(4)使用Compass插入测试数据并执行测试,展示查询结果。通过这些步骤,实现对评论的高效分页查询。
251 0
|
NoSQL MongoDB 微服务
微服务——MongoDB实战演练——文章微服务模块搭建
本节介绍文章微服务模块的搭建过程,主要包括以下步骤:(1)创建项目工程 *article*,并在 *pom.xml* 中引入依赖;(2)配置 *application.yml* 文件;(3)创建启动类 *cn.itcast.article.ArticleApplication*;(4)启动项目,确保控制台无错误提示。通过以上步骤,完成文章微服务模块的基础构建与验证。
216 0
|
NoSQL IDE MongoDB
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
1235 21
Studio 3T 2025.10 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
NoSQL IDE MongoDB
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
544 2
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端

相关产品

  • 容器镜像服务