Docker运行MongoDB及Redis及ssh端口映射远程连接
本节内容简介
在本实验里我们将通过完成 MongoDB 和 Redis 两个容器来学习Dockerfile及Docker的运行机制。
本节中,我们需要依次完成下面几项任务:
MongoDB 的安装及配置
Redis 的安装及配置
Dockerfile 的编写
从 Dockerfile 构建镜像
本次实验的需求是完成 Dockerfile,通过 Dockerfile 创建 MongoDB 或 Redis 应用。Dockerhub上已经提供了官方的 MongoDB 和 Redis 镜像,本实验仅仅用于学习Dockerfile及Docker机制。
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。特点是高性能、易部署、易使用,存储数据非常方便。 -来自百度百科
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 -来自百度百科
一、实验准备
1、实验分析
在本实验中,我们除了安装所需的核心服务外,还安装一个ssh服务提供便捷的管理。
为了提高docker build速度,我们直接使用阿里云的Ubuntu源。因此要在Dockerfile开始位置增加下面一句命令:
RUN echo "deb http://mirrors.aliyuncs.com/ubuntu/ trusty main universe" > /etc/apt/sources.list
2、创建 Dockerfile 文件
首先,需要创建一个目录来存放 Dockerfile 文件,目录名称可以任意,在目录里创建Dockerfile文件:
cd /home/shiyanloumkdirshiyanloumongodb shiyanlouredistouch shiyanloumongodb/Dockerfile shiyanlouredis/Dockerfile
使用vim/gedit编辑Dockerfile文件,根据我们的需求输入内容。
二、Dockerfile 基本框架
1、基本框架
按照上一节学习的内容,我们先完成Dockerfile基本框架。
依次输入下面的基本框架内容:
# Version 0.1# 基础镜像
FROM ubuntu:latest
# 维护者信息
MAINTAINER shiyanlou@shiyanlou.com
# 镜像操作命令
RUNecho "deb http://mirrors.aliyuncs.com/ubuntu/ trusty main universe" > /etc/apt/sources.list
RUN apt-get update && apt-get install -yqq supervisor && apt-get clean