文档章节

构建mongo-connector镜像

M
 MR_Ding
发布于 2017/09/06 19:36
字数 669
阅读 46
收藏 0

1.前提

服务器需要安装docker服务

需要能使用外网

使用mongo-connector需要pymongo(连接mongo用到的)docmanager(连接es,solr等用到的).

秉承测试要多次原则,这里测试两次,构建时测试,导入后测试.

2.下载

我这里使用的是python镜像,因为mongo-connector基于python开发

pull镜像

[root@Ninemax-LPC3 ~]# docker pull daocloud.io/library/python:3.4.6-jessie

镜像重命名(创建tag 删除原有tag)

[root@Ninemax-LPC3 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

daocloud.io/library/python 3.4.6-jessie c323ccfafc9b 6 weeks ago 679.5 MB

[root@Ninemax-LPC3 ~]# docker tag daocloud.io/library/python:3.4.6-jessie python:3.4.6

[root@Ninemax-LPC3 ~]# docker rmi daocloud.io/library/python:3.4.6-jessie

Untagged: daocloud.io/library/python:3.4.6-jessie

[root@Ninemax-LPC3 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

python 3.4.6 c323ccfafc9b 6 weeks ago 679.5 MB

3.安装mongo-connector

创建容器

[root@Ninemax-LPC3 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

python 3.4.6 c323ccfafc9b 6 weeks ago 679.5 MB

[root@Ninemax-LPC3 ~]# docker run --name mongo-connector -ti python:3.4.6 bash

安装vim(此处可略过,看你心情!)

鉴于国内下载国外插件速度太TM慢了,先按这个,在开一个窗口连接去安装剩下的软件

root@fa9aaee571a8:/etc/apt# apt-get install vim

如果报错更新一下源索引:

root@fa9aaee571a8:/etc/apt# apt-get update

更新后,再次尝试安装

root@fa9aaee571a8:/etc/apt# apt-get install vim

安装pymongo

root@fa9aaee571a8:/# pip install pymongo

Collecting pymongo

Downloading pymongo-3.5.1-cp34-cp34m-manylinux1_x86_64.whl (366kB)

100% |████████████████████████████████| 368kB 26kB/s

Installing collected packages: pymongo

Successfully installed pymongo-3.5.1

   

安装docmanager

root@fa9aaee571a8:/# pip install 'elastic2-doc-manager[elastic5]'

其他docmanager命令:

Target System

Install Command

MongoDB

pip install mongo-connector

Elasticsearch 1.x

pip install 'mongo-connector[elastic]'

Amazon Elasticsearch 1.x Service

pip install 'mongo-connector[elastic-aws]'

Elasticsearch 2.x

pip install 'mongo-connector[elastic2]'

Amazon Elasticsearch 2.x Service

pip install 'mongo-connector[elastic2-aws]'

Elasticsearch 5.x

pip install 'mongo-connector[elastic5]'

Solr

pip install 'mongo-connector[solr]'

安装mongo-connector

安装mongo-connector

root@fa9aaee571a8:/# pip install mongo-connector

查看安装文件

root@fa9aaee571a8:/# pip list

DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.

elastic2-doc-manager (0.3.0)

elasticsearch (5.4.0)

mongo-connector (2.5.1)

pip (9.0.1)

pymongo (3.5.1)

setuptools (36.2.2)

urllib3 (1.22)

wheel (0.29.0)

测试mongo-connector

root@fa9aaee571a8:/# mongo-connector -m 10.12.20.9:27017 -t 10.12.20.3:9201 -d elastic2_doc_manager -n nstlStorage.SOURCE_V01

Logging to /mongo-connector.log.

导出容器

root@fa9aaee571a8:/# exit

[root@Ninemax-LPC3 ~]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

fa9aaee571a8 python:3.4.6 "bash" 2 hours ago Up 4 minutes mongo-connector

[root@Ninemax-LPC3 ~]# docker stop -t 0 fa9aaee571a8

fa9aaee571a8

[root@Ninemax-LPC3 ~]# docker export fa9aaee571a8 > ./mongo-connector.tar

[root@Ninemax-LPC3 ~]# ls |grep mongo-connector.tar

mongo-connector.tar

4.测试

导入镜像

[root@Ninemax-LPC3 ~]# docker import - mongo-cennector:2.0 < mongo-connector.tar

c1a26db626be25d8321b2d5d0715dae4c419048252aa6baa757f70b0c32eacc6

[root@Ninemax-LPC3 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

mongo-cennector 2.0 c1a26db626be About a minute ago 719 MB

python 3.4.6 c323ccfafc9b 6 weeks ago 679.5 MB

创建容器

[root@Ninemax-LPC3 ~]# docker run -t -i --name mongo-cennector2 --net=host mongo-cennector:2.0 bash

root@Ninemax-LPC3:/#

测试

root@fa9aaee571a8:/# mongo-connector -m 10.12.20.9:27017 -t 10.12.20.3:9201 -d elastic2_doc_manager -n nstlStorage.SOURCE_V01

Logging to /mongo-connector.log.

5.最后

这镜像贼鸡儿大,脑阔痛 (TvT)…… 哪天用dockefile构建个小的吧

镜像共享出来:docker pull registry.cn-qingdao.aliyuncs.com/ninemax/mongo-connector:python-1.0

© 著作权归作者所有

共有 人打赏支持
M
粉丝 0
博文 6
码字总数 7859
作品 0
海淀
程序员
docker部署webapp的例子

本文以 tcl-tennis 为例,说明部署 Node.js webapp 的步骤。 创建 Dockerfile 首先,clone 代码 根据 Docker 官网的帮助文档 Dockerizing a Node.js web app,创建 Dockerfile: 注意修改执行...

jacked
2016/01/04
154
0
利用docker和docker-compose 数据库 构建简单爬虫系统

一:简介和安装docker 对于较大型的爬虫需求可以利用服务器搭建docker 的python爬虫框架,这样可以充分利用服务器的资源而且可以限制cpu 内存的使用 监控爬虫程序的情况。 利用docker的另一个...

布咯咯_rieuse
2017/11/16
0
0
用 mongodb + elasticsearch 实现中文检索

而 elasticsearch 可以很好的支持各种语言的全文检索,但我们暂时又不想切换到 elasticsearch 作为后端数据库。 当然,可以在 web 应用中存储数据的时候,再主动写一份到 elasticsearch,但这...

楠木楠
2016/09/13
242
0
利用Docker部署mongodb集群--分片与副本集

环境 Docker version 1.6.2 mongodb 3.0.4 第一步 编写Dockerfile并生成镜像 主意包含两个Dockerfile镜像,一个mongod的,一个mongos(在集群中负责路由) 编写Mongod的Dockerfile: FROM ub...

robin-yao
2015/06/22
0
7
大数据实验室(大数据基础培训)——概要

为某企业做的培训,完整文档见:http://gudaoxuri.github.io/bd-lab/ 1. 概要说明 本工程为大数据培训的指导教程,包含了培训实践各个环节的说明及相关代码。 1.1. 课程概要 名称 内容 第一天...

孤岛旭日
2016/05/06
97
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
13分钟前
1
0
C++ yield()与sleep_for()

C++11 标准库提供了yield()和sleep_for()两个方法。 (1)std::this_thread::yield(): 线程调用该方法时,主动让出CPU,并且不参与CPU的本次调度,从而让其他线程有机会运行。在后续的调度周...

yepanl
20分钟前
0
0
Java并发编程实战(chapter_3)(线程池ThreadPoolExecutor源码分析)

这个系列一直没再写,很多原因,中间经历了换工作,熟悉项目,熟悉新团队等等一系列的事情。并发课题对于Java来说是一个又重要又难的一大块,除非气定神闲、精力满满,否则我本身是不敢随便写...

心中的理想乡
30分钟前
15
0
shell学习之获取用户的输入命令read

在运行脚本的时候,命令行参数是可以传入参数,还有就是在脚本运行过程中需要用户输入参数,比如你想要在脚本运行时问个问题,并等待运行脚本的人来回答。bash shell为此提 供了read命令。 ...

woshixin
57分钟前
1
0
区块链技术中的那些能商用的企业级应用

WEPOWER是一家立陶宛初创企业,旨在改变可再生电力项目的付费方式。WePower公司创始人Nick Martyniuk表示,政府统一收购价的存在推动了全球风能与太阳能市场的发展。因此,他的公司希望帮助那...

问题终结者
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部