【docker】编译MongoDB镜像

1.新建一个Dockerfile文件

Dockerfile


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16


# VERSION 0.0.1

FROM ubuntu:latest

MAINTAINER lanhong Turnbull "[email protected]"

# Add 10gen official apt source to the sources list

RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list

# Hack for initctl not being available in Ubuntu

RUN dpkg-divert --local --rename --add /sbin/initctl

RUN ln -s /bin/true /sbin/initctl

# Install MongoDB

RUN apt-get update

RUN apt-get install mongodb-10gen

# Create the MongoDB data directory

RUN mkdir -p /backup/dockerRepository/mongodb/data/db

EXPOSE 27017

ENTRYPOINT ["usr/bin/mongod"]

2. 编译该镜像,在Dockerfile所在的目录下执行下面的命令


1

sudo docker build -t lanhong/mongodb .

3. 可以把mongodb 作为一个管理容器运行并且能够通过本地port连接


1

2

3

4

5

6

7

8

9

10

11


# Regular style

MONGO_ID=$(sudo docker run -d lanhong/mongodb)

# Lean and mean(用这个命令)

MONGO_ID=$(sudo docker run -d lanhong/mongodb --noprealloc --smallfiles --dbpath /backup/dockerRepository/mongodb/data/db)

# Check the logs out

sudo docker logs $MONGO_ID

# Connect and play around

mongod --port <port you get from `docker ps`>

这里mongo或者mongod命令没有,让安装apt-get install mongodb-clients。

设置docker外部端口,使用如下命令


1

MONGO_ID=$(docker run -d  -p 5000:27017 networld/mongodb --dbpath=/data/db)

这样查看启动的docker容器可以看到两个端口,如下图,则访问http://serverip:5000

4. 提交(保存)该容器状态

保存该容器状态到容器镜像,使该状态可以被重复使用


1

2

3

4

5


# Commit your container to a new named image

sudo docker commit <container_id> <some_name>

e.g sudo docker commit afa886fad446 lanhong/mongodb

# List your containers

sudo docker images

原文地址:http://blog.51cto.com/4951326/2097363

时间: 2024-08-03 04:02:15

【docker】编译MongoDB镜像的相关文章

Docker运行MongoDB及Redis及ssh端口映射远程连接

Docker运行MongoDB及Redis及ssh端口映射远程连接 本节内容简介 在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制. 本节中,我们需要依次完成下面几项任务: MongoDB 的安装及配置 Redis 的安装及配置 Dockerfile 的编写 从 Dockerfile 构建镜像 本次实验的需求是完成 Dockerfile,通过 Dockerfile 创建 MongoDB 或 Redis 应用.Dockerhub上

docker 安装MongoDB以及设置用户

docker pull mongo (拉取镜像 默认最新版本) docker images (查看镜像) docker run -p 27017:27017 -td mongo (启动镜像) docker ps (查看启动的镜像) docker exec -it 镜像id /bin/bash (进入容器) mongo (进入mongodb) 下面是安装完之后,正确的执行步骤,创建管理账户用户和普通用户的步骤, 创建管理账户,然后退出. use admindb.createUser( { user

Docker入门(二)在docker使用MongoDB

??本文将介绍如何在docker中使用MongoDB. ??如果你是一名MongoDB的初学者,那么你入门MongoDB的第一件事就是安装MongoDB,但是安装MongoDB又不是一件简单的事情,还需要自己配置一些服务.这时候,docker就能帮上大忙,它能够让你不需要本地安装MongoDB就能使用MongoDB.下面让我们来看看这是怎么实现的. ??首先你的电脑上需要安装docker,然后在docker的镜像中查询MongoDB的镜像,命令如下: docker search mongodb

docker 部署 mongodb 并且开启远程连接

mongodb 使用 docker 部署 mongodb 拉取镜像 docker pull mongo 可以查看镜像是否下载成功 docker images | grep mongo 应该会有如下的显示 mongo latest 7177e01e8c01 2 months ago 393MB > 2 months ago 和 393MB 取决于镜像的拉取时间和对应版本的大小. 使用 docker 安装 mongodb docker run --name mongodb -v ~/docker/m

01.Docker安装MongoDB

查询MongoDB镜像 docker search mongo 拉取MongoDB镜像 docker pull mongo # 拉取指定版本镜像 docker pull mongo:3.4 启动MongoDB容器 docker run -p 27017:27017 --name mymongo -d mongo 进入MongoDB交互模式 docker exec -it <CONTAINER NAME> mongo admin 原文地址:https://www.cnblogs.com/Jcon

Docker创建MongoDB数据库

1.拉取MongoDB镜像: docker pull mongo 2.创建容器: docker run -d --restart=always -p 37017:27017 --name mymongo -v /data/db:/data/db -d mongo --auth --auth  设置授权,需要设置用户密码,外部才能访问 3.创建admin用户,并设置密码: docker exec -it mymongo /bin/bash mongo db.createUser({ user: '

Docker 安装 MongoDB

Docker 安装 MongoDB 方法一.docker pull mongo 查找 Docker Hub 上的 mongo 镜像: docker search mongo 这里我们拉取官方的镜像 mongo:3.2: docker pull mongo:3.2 等待下载完成后,我们就可以在本地镜像列表里查到 REPOSITORY 为 mongo,标签为 3.2 的镜像: docker images | grep mongo 方法二.通过 Dockerfile 构建 创建Dockerfile 首

(八) Docker 部署 mongodb

参考并感谢 官方文档 https://hub.docker.com/_/mongo 下载mongo镜像(不带tag标签则表示下载latest版本) docker pull mongo 启动 mongodb 容器 docker run -d -p 27017:27017 --name mongoDev --mount type=bind,source=/var/docker/configs/mongo/,target=/data/configdb --mount type=bind,source=

Docker之二----镜像制作

Docker镜像制作 1.Docker镜像有没有内核? 从镜像大小上面来说,一个比较小的镜像只有十几MB ,而内核文件需要一百多兆, 因此镜像里面是没有内核的,镜像在被启动为容器后将直接使用宿主机 的内核,而镜像本身则只提供相应的rootfs,即系统正常运行所必须的用户空间的文件系统,比如 /dev,/,/proc,/bin /etc等目录,所以容器当中基本是没有/boot目录的, 而/boot当中保存的就是与内核相关的文件和目录 . 2.为什么没有内核? 由于容器启动和运行过程中是直接使用宿主