Docker学习笔记——Mongo Dockerfile及容器运行

1、创建项目目录mongo,在目录下上传下载的Mongodb安装文件及mongo.conf配置文件,创建Dockerfile文件,项目结构如下:

mongo

- Dockerfile

- mongo.conf

- mongodb-linux-x86_64-3.4.9.tgz

- data

- logs

Dockerfile内容如下:

# mongo
# SOURCE_IMAGE
FROM centos
# MAINTAINER_INFO
MAINTAINER bluemooder [email protected]
# ENV
ENV MONGO_VERSION 3.4.9
ENV PATH /usr/local/mongodb/bin:$PATH
# BUILD
ADD mongodb-linux-x86_64-$MONGO_VERSION.tgz /usr/local/
RUN mv /usr/local/mongodb-linux-x86_64-$MONGO_VERSION /usr/local/mongodb     && cd /usr/local/mongodb     && mkdir data logs
COPY mongo.conf /usr/local/mongodb/mongo.conf 
WORKDIR /usr/local/mongodb/
# PORT
EXPOSE 27017
# RUNNIG
CMD mongod --config mongo.conf && tail -f logs/mongodb.log

mongo.conf内容如下:

dbpath = /usr/local/mongodb/data/
logpath = /usr/local/mongodb/logs/mongodb.log
port = 27017
fork = true
logappend=true
quiet=true
journal=true
auth=true

2、根据Dockerfile创建自定义镜像

docker build -t mongo:3.4.9 .

3、运行Mongo容器

docker run -d --name zx-mongo -p 27017:27017 -v `pwd`/data:/usr/local/mongodb/data -v `pwd`/logs:/usr/local/mongodb/logs mongo:3.4.9

4、查看容器运行状态

docker ps -a | grep mongo
7a1b42369830        mongo:3.4.9         "/bin/sh -c ‘mongo..."   5 minutes ago       Up 5 minutes                0.0.0.0:27017->27017/tcp   zx-mongo

知行办公,专业移动办公平台
【总监】十二春秋之,[email protected];
【Master】zelo,[email protected];
【运营】运维艄公[email protected]
【产品设计】流浪猫,[email protected];
【体验设计】兜兜,[email protected];
【iOS】淘码小工,[email protected];iMcG33K,[email protected];
【Android】人猿居士,[email protected];思路的顿悟,[email protected];
【java】首席工程师MR_W,[email protected];
【测试】土镜问道,[email protected];
【数据】喜乐多,[email protected];
【安全】保密,你懂的。

时间: 2024-10-24 22:42:44

Docker学习笔记——Mongo Dockerfile及容器运行的相关文章

Docker学习笔记(8-1)容器技术历史

学习目标: 历史上的容器 1982 chroot  进程和文件系统 2007 virtuozzo windows平台 2008 lxc          linux 2012 warden   linux  cloudfoundry 2013 docker    linux 容器技术与云计算 云计算的基础技术 资源隔离 cpu:cpu时间片.cpu核数 内存:物理内存.swap交换区存储 磁盘:磁盘容量.io.inode 网络:网络栈.网络带宽 资源分配 保留分配 设定上限 资源弹性扩展 容器的

Docker学习笔记——镜像、容器、仓库

Docker三个基本概念 镜像(image) 容器(container) 仓库(Repository) 镜像(image) 搜索镜像 docker search nginx 获取镜像 docker pull nginx 指定Registry地址和具体的仓库名下载镜像,没有指定Registry地址,默认从Docker Hub上下载 docker pull jwilder/nginx-proxy 查看镜像 docker images  REPOSITORY          TAG         

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

docker学习笔记(2)---Dockerfile

在docker学习笔记(1)中,我们提到了通过commit 的命令来提交新的image,下面我们来通过Dockerfile文件来生成image,而且使用Dockerfile,很方便移植. 一.Dockerfile中几个常用的指令: (1)FROM 格式: FROM <image> 或者 FROM <image>:<tag> (2)MAINTAINER 格式: MAINTAINER <name> 说明:设置生成image的作者 (3)RUN 格式: 使用she

Docker 学习笔记【1】Docker 相关概念,基本操作

计划:Docker 学习笔记[2] Docker 基础操作实操记录,Docker仓库.数据卷,网络基础学习---40 注:所有操作在root下执行 --1--概念: 1.Docker镜像: 镜像就是一个只读的模板,用于创建docker容器. Docker提供了简单的机制创建或者更新现有镜像,也可以从别处拿来现成镜像直接使用. 2.Docker容器: 可以认为是精简版的linux运行环境包含 [root权限,进程空间,用户空间,网络空间等]和应用程序 另外:镜像是只读的,容器基于镜像启动后创建一层

Docker 学习笔记【2】 Docker 基础操作实,Docker仓库、数据卷,网络基础学习

Docker 学习笔记[3] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,实操 网络基础  ---------高级网络配置和部分实战案例学习 ============================================================= Docker 学习笔记[1]Docker 相关概念,基本操作--------实操记录开始 ============================================================= 被

docker学习笔记1 -- 安装和配置

技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔记:http://www.open-open.com/lib/view/open1423703640748.html 深入浅出docker:http://www.infoq.com/cn/articles/docker-core-technology-preview 安装 参考:http://www

Docker学习笔记(一)什么是Docker

Docker学习笔记(一)什么是Docker Docker:容器技术是虚拟化技术的一种,是操作系统的虚拟化. 传统硬件虚拟化:虚拟硬件,事先分配资源,在虚拟的硬件上安装操作系统,虚拟机启动起来以后资源就会被完全占用. 操作系统虚拟化:docker是操作系统虚拟化,借助操作系统内核特性(命名空间.cgroups)实现,不需要模拟硬件行为,不需要安装操作系统. 优点: 硬件虚拟化需要安装操作系统占用空间大. 硬件虚拟化需要模拟硬件系统行为,内存和cpu消耗更大. 缺点: 容器进程崩溃,可能影响宿主机

Docker学习笔记(四)走进docker的世界

Docker学习笔记(四)走进docker的世界 一个容器实际上是运行在宿主机上的一个进程. 只不过在启动这个进程之前进行了一些特殊处理,让这个容器进入了一个全新的虚拟环境,与宿主机的环境分开, 所以这个进程及其子进程认为自己运行在一个独立的世界里面. #查看进程 sudo docker run -d cyf:sshd /usr/sbin sshd -D ps axf 可以看到在宿主机里面的5948这个sshd进程 下面进入docker容器查看 sudo docker-enter.sh 6867