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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 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
相关文章
|
3天前
|
存储 网络协议 Ubuntu
【Linux开发实战指南】基于UDP协议的即时聊天室:快速构建登陆、聊天与退出功能
UDP 是一种无连接的、不可靠的传输层协议,位于IP协议之上。它提供了最基本的数据传输服务,不保证数据包的顺序、可靠到达或无重复。与TCP(传输控制协议)相比,UDP具有较低的传输延迟,因为省去了建立连接和确认接收等过程,适用于对实时性要求较高、但能容忍一定数据丢失的场景,如在线视频、语音通话、DNS查询等。 链表 链表是一种动态数据结构,用于存储一系列元素(节点),每个节点包含数据字段和指向下一个节点的引用(指针)。链表分为单向链表、双向链表和循环链表等类型。与数组相比,链表在插入和删除操作上更为高效,因为它不需要移动元素,只需修改节点间的指针即可。但访问链表中的元素不如数组直接,通常需要从
|
1月前
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
571 1
|
18天前
|
消息中间件 运维 监控
Linux命令lsipc:深入解析与实战应用
`lsipc` (通常指 `ipcs`) 是Linux命令,用于查看系统中的IPC资源,包括消息队列、信号量和共享内存。它显示详细信息,支持过滤,并且需要相应权限。示例用法:显示共享内存(`-m`)、查询消息队列(`-q -i ID`)、查看关联进程(`-m -p`)。注意权限、操作影响及定期监控。结合`ipcrm`等工具可进行更深入管理。
|
2月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
3天前
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
|
14天前
|
NoSQL Linux 程序员
Linux objdump命令:深入解析与实战应用
`objdump`是Linux下的反汇编工具,用于将二进制文件转换为汇编代码,便于理解程序底层。它可以反汇编目标文件、可执行文件和库,支持多种参数,如显示符号表(-t)、反汇编代码(-d)、源代码与汇编混合视图(-S)。在实践中,结合-g编译选项和特定段(-j)反汇编,能辅助调试和分析。使用时注意包含调试信息,选择适当参数,并与其他工具(如gdb)配合使用。
|
26天前
|
消息中间件 存储 监控
实战Linux I/O多路复用:借助epoll,单线程高效管理10,000+并发连接
本文介绍了如何使用Linux的I/O多路复用技术`epoll`来高效管理超过10,000个并发连接。`epoll`允许单线程监控大量文件描述符,显著提高了资源利用率。文章详细阐述了`epoll`的几个关键接口,包括`epoll_create`、`epoll_ctl`和`epoll_wait`,以及它们在处理并发连接中的作用。此外,还探讨了`epoll`在高并发TCP服务场景的应用,展示了如何通过`epoll`和线程/协程池来构建服务框架。
171 3
|
23天前
|
Linux Windows 虚拟化
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
【Linux环境搭建实战手册】:打造高效开发空间的秘籍
|
24天前
|
NoSQL MongoDB Docker
windows下基于docker安装mongodb
windows下基于docker安装mongodb
32 1
|
29天前
|
关系型数据库 MySQL Linux
Linux 命令 `db_upgrade` 详解与实战
`db_upgrade` 是一个自定义数据库升级命令,用于更新数据库结构和版本。它包括检查当前版本、备份、执行升级、更新版本信息和验证。基本语法是 `db_upgrade [OPTIONS]`,支持 `-b`(备份)、`-f`(强制升级)、`-v`(详细信息)等选项。在实战中,先备份数据库,然后使用 `db_upgrade` 命令升级,并验证结果。注意在生产环境升级前进行测试。虽然不是标准命令,但理解其用法有助于应对数据库升级。

相关产品

  • 容器镜像服务