整体结构如下图

 

先来在 172.16.0.200 安装docker-ce (新)或 docker-io(旧)     

0: Docker-ce  (新版本  Docker version 17.09.0-ce)

1. 卸载老版本的 docker 及其相关依赖
sudo yum remove docker docker-common container-selinux docker-selinux docker-engine

​ 2. 安装 yum-utils,它提供了 yum-config-manager,可用来管理yum源
sudo yum install -y yum-utils

​ 3. 添加yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

​ 4. 更新索引
sudo yum makecache fast

​ 5. 安装 docker-ce
sudo yum install docker-ce

​ 6. 启动 docker
sudo systemctl start docker

​ 7. 验证是否安装成功
sudo docker info

1:搜索是否有可用得docker   rpm 包  (老版本  Docker:1.12)

yum list | grep docker-io

2:安装epel-release 和  docker-io 

yum install  epel-release -y && yum makecache &&yum install docker-io -y

3:启动docker 

systemctl start docker       

#查看一下docker 是否启动

4:搜索可用镜像

docker search centos

5:docker 可配置国内加速

通过配置文件启动Docker

Docker 版本在 1.12 或更高

修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。

vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

Docker版本在 1.8 与 1.11 之间

您可以找到 Docker 配置文件,在配置文件中的 DOCKER_OPTS 加入。不同的 Linux 发行版的配置路径不同,这里以 Ubuntu 为例。

a) Ubuntu 14.04版本

修改 /etc/default/docker 文件,加入如下参数。

 
vim /etc/default/docker
DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"

6:  pull   一个官方基础镜像下来   我们拿docker.io/centos  来做基础镜像

docker pull docker.io/centos

docker images 

接下来这个脚本做了什么?

         1  在本地下载一下redis.tar.gz包  解压编译

         2  修改redis.conf 配置文件  , 在/home目录下创建redis-dockerfile 目录 将redis编译完成二进制包  移过来  等一下copy进制作得镜像当中

         3  创建  build 所需Dockerfile  方件

         4   build  一个 redis-Images  并挂载log 进容器当中启动   

代码出下    new_redis_images.sh

#!/bin/bash
#author Mrchen 237356573@qq.com yum install wget gcc make -y
cd /mnt
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -xzvf redis-3.2.8.tar.gz && rm -rf redis-3.2.8.tar.gz
cd redis-3.2.8
make && make install
mkdir -p /home/redis-DockerFiel
mv /mnt/redis-3.2.8 /home/redis-DockerFiel/redis #-----------------------set_redis.conf------------------------------- cd /home/redis-DockerFiel
if [[ -e ./redis/redis.conf ]]; then
cat > ./redis/redis.conf <<\EOF
daemonize no
port 6379
logfile "/var/log/redis.log"
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
EOF fi #本地创建redis.log 等一下挂载进容器
touch /data/redis/redis.log #-------------------new_redis__Dockerfile.......................... if [[ ! -e /home/redis-DockerFiel/Dockerfile ]]; then
cat > /home/redis-DockerFiel/Dockerfile <<\EOF
############################################
# version : python-django/redis:v1
# desc : 当前版本安装的redis
############################################
#指定基础镜像:docker.io/centos
FROM docker.io/centos MAINTAINER The CentOS Project <237356573.qq.com> #copy redis应用程序目录到容器中
COPY ./redis /usr/local/redis #创建redis log 日记
RUN touch /var/log/redis.log #开放6379端口
EXPOSE 6379 #启动Redis
ENTRYPOINT ["/usr/local/redis/src/redis-server" , "/usr/local/redis/redis.conf"] EOF fi #-------------------------start docker "build" redis Images---------------------
cd /home/redis-DockerFiel && docker build -t python_django/redis:1.0 .
#-------------------------start docker "run" redis Images......................
docker run --name redis --privileged=true -v /data/redis/redis.log:/var/log/redis.log -p 6379:6379 -d python_django/redis:1.0

7:  准备运行脚本

 bash   new_redis_images.sh   #却保无 docker  images  name--->>>     python_django/redis:1.0  存在 仓库在也不行

docker stop name---python_django/redis:1.0

docker  rmi -f  name---python_django/redis:1.0

运行脚本

bash   new_redis_images.sh

连接测试:

 

#最后说明一点 就是 脚本中得  python_django/redis:1.0     可以用变量 代替  不这样该脚本只能运行一次  第二次就会产生build   时候 name 重名 error 

--privileged=true 参数特别说明  网上找得:

Docker 搭建开源 CMDB平台 “OpsManage” 之 Redis的更多相关文章

  1. Docker 搭建开源 CMDB平台 “OpsManage” 之 Mariadb

    整理了一下文档  今天来构建mariadb 主机还是 centos  172.16.0.200 构建第二个images   直接shell.sh 完成  #!/bin/bash echo " ...

  2. Docker 搭建开源 CMDB平台 之 “OpsManage”

    说明:  我一次build 完 所以images 包 有1G多   可分层build   bash 环境一层   应用程序及启动脚本(shell.sh) 一层 步骤:           1     ...

  3. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  4. Spring Cloud和Docker搭建微服务平台

    用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...

  5. 基于docker搭建开源扫描器——伏羲

    基于docker搭建开源扫描器——伏羲 1.简介 项目地址 伏羲是一款开源的安全检测工具,适用于中小型企业对企业内部进行安全检测和资产统计. 功能一览: 基于插件的漏洞扫描功能(类似于巡风) 漏洞管理 ...

  6. Docker搭建代码检测平台SonarQube并检测maven项目

    1 前言 良好的代码习惯是一个优秀程序员应该具备的品质,但靠人的习惯与记忆来保证代码质量,始终不是一件靠谱的事.在计算机行业应该深知,只要是人为的,都会有操作风险.本文讲解如何通过Docker搭建代码 ...

  7. docker 搭建php 开发环境 添加扩展redis、swoole、xdebug

    docker-compose搭建lnmp 先决条件 首先需要安装docker 安装docker-compost 1.创建lnmp工作目录 #创建三个目录 mkdir lnmp && c ...

  8. 企业安全建设之搭建开源SIEM平台

    https://www.freebuf.com/special/127172.html https://www.freebuf.com/special/127264.html https://www. ...

  9. 企业安全建设之搭建开源SIEM平台(上)

    前言 SIEM(security information and event management),顾名思义就是针对安全信息和事件的管理系统,针对大多数企业是不便宜的安全系统,本文结合作者的经验介绍 ...

随机推荐

  1. Java对象根据属性排序

    参考:https://blog.csdn.net/wangtaocsdn/article/details/71500500

  2. 标准模板库中的链表(list)

    //C++数据结构与算法(第4版) Adam Drozdek 著  徐丹  吴伟敏<<清华大学出版社>> 头文件:include<list> list() 创建一个 ...

  3. java学习-初级入门-面向对象⑤-类与对象-类与对象的定义和使用3

    这次我们要做一个日期类Date类 主要目的是    1.  熟悉-->构造不同参数的函数  2.善于利用已有的函数!! 题目要求: Date类要求 可设定年月日 可转换为字符串,并可指定分隔符, ...

  4. SVN偷锁,强制解锁

    1.将被锁文件SVN Check out...到本地硬盘2.点击文件右键,选择get lock 3.勾上 steal the locks 4.点击文件右键,选择 Release Lock操作即可 学无 ...

  5. Python django 安装 mysqlclient 失败

    使用命令安装失败: C:\Program Files (x86)\Python\Python37-\Scripts>pip3..exe install mysqlclient Collectin ...

  6. Day3-M-Cable master POJ1064

    Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Commi ...

  7. @vue-cli的安装及vue项目创建

    1.安装 Node.js & Vue CLI @vue/cli3,是vue-进行搭建的脚手架项目,它本质上是一个全局安装的 npm 包,通过安装它,可以为终端提供 vue 命令,进行vue项目 ...

  8. 使用Go语言一段时间的感受

    作者 openkk 2012-03-04 18:26:58 文/Windstorm 有一段时间没更新了.最近在忙一个 Server+Client 的项目,Client 是 Android 手机,大概也 ...

  9. Django(十八)后台管理:列表页选项、编辑页选项、自定义后台页面

    [参考]https://blog.csdn.net/u010132177/article/details/103814357 [参考]https://docs.djangoproject.com/zh ...

  10. C++ 11 :override 关键字的使用

    override 关键字 作用:在成员函数声明或定义中, override 确保该函数为虚函数并覆写来自基类的虚函数. 位置:函数调用运算符之后,函数体或纯虚函数标识 "= 0" ...