返回顶部
首页 > 资讯 > 精选 >Docker环境怎么构建redis单机容器
  • 746
分享到

Docker环境怎么构建redis单机容器

2023-06-04 11:06:50 746人浏览 薄情痞子
摘要

本篇内容主要讲解“Docker环境怎么构建redis单机容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker环境怎么构建Redis单机容器”吧!1   背景介绍&n

本篇内容主要讲解“Docker环境怎么构建redis单机容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker环境怎么构建Redis单机容器”吧!

1   背景介绍

Docker环境怎么构建redis单机容器

     用传统部署搭建一套redis环境,中间会消耗太多的重复的工作,导致部署效率非常低。例如:申请虚拟机,安装操作系统,软件包依赖安装和redis应用部署,这个过程中间需要花费不少时间,同时在安装的过程中出现问题也需要花费一些时间去处理。然后传统方式部署方式可移植性相当差。要想将现有redis迁移到新主机,可不是那么容易的事情,可能最简单的方式是tar包过去,但是新主机还是需要安装redis相关的依赖包上去,还需要花些时间去调试redis,中间反反复复的重复工作太浪费时间了。

Docker环境怎么构建redis单机容器

      为了打破传统部署模式带来的效率低下问题,我们采用docker容器部署模式,将重复的工作精简化,也为了方便运维工程师更加快速搭建一套redis环境,redis容器化后能够解决安装过程中出现的重复性繁琐的工作。最终以镜像的存储在镜像仓库中。只要有需求用到redis服务,可以在任何安装有docker软件的主机上面运行redis容器,即可达到需求。Docker容器化后的镜像即可实现即开即用的效果。


2  镜像打包流程

Docker环境怎么构建redis单机容器

Ø  linux编译环境:准备一台能上外网的linux环境,并安装好docker运行环境。

Ø  基础镜像:在构建应用镜像前置条件,需要准备一套干净的Centos基础镜像,然后在这个基础镜像上面去部署redis软件。

Ø  配置标准化:按dockerfile的命令格式来编写,将redis软件安装与redis配置步骤写入到dockerfile文件中。然后准备好运行环境需要的配置文件和对应的运行环境启动脚本,方便在构建应用镜像时将这些文件打包到镜像中。

Ø  构建应用镜像:通过编写dockerfile文件在基础操作系统镜像里面将所要运行的所依赖的软件包和redis软件部署到镜像中,最后通过docker命令将其打成一个新的完整镜像包,下次要用redis就直接下载镜像部署。

Ø启动容器:docker命令启动容器的过程中会将redis服务启动。

在Docker中,构建一个自定义镜像共有两种方法,一是通过commit指令构建,二是通过Dockerfile文件构建。这里我们推荐第二种方法用dockerfile文件构建redis镜像。

 Dockerfile基本框架

    Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile。Docker程序将读取Dockerfile,根据指令生成定制的image。相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了Dockerfile,当我们需要定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。

    Dockerfile 的内容分为四个部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令

操作系统

FROM

按需求选择不同类型的基础操作系统镜像

常用软件

ADD

选择运行所需要的常用软件,如PHPNginx,自动设置相应的运行变量

指定用户

USER

设置启动容器的用户,默认是root用户

执行安装

RUN

执行针对需求包编写安装脚本

切换目录

WORKDIR

可以多次切换(相当于cd命令)

环境变量

ENV

镜像中设置环境变量

端口映射

EXPOSE

该指令会将容器中的端口映射成宿主机器中的某个端口

存储使用

VOLUMN

按需定义外挂目录(io要求高,持久化,宿主机间共享等)

启动运行

ENTRYPOINT

设置指令,指定容器启动时执行的命令,可以多次设置,但是只有最后一个有效

启动运行

CMD

容器启动时需要执行的脚本

4   Redis容器化过程

4.1    Linux编译环境

    准备一台centos7虚拟机,并在这台主机上面安装Docker软件,这里以docker版本1.13.1为例,来介绍如何安装Docker软件步骤。

#下载docker-engine

wget   https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.13.1-1.el7.centos.x86_64.rpm

#下载docker-engine-selinux

wget   Https://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm

#安装docker软件依赖文件

yum   install -y libtool-ltdl policycoreutils-python

#先安装docker-engine-selinux,再安装docker-engine-selinux

yum   localinstall docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm -y

yum   localinstall docker-engine-1.13.1-1.el7.centos.x86_64.rpm –y

#重启docker服务

systemctl   start docker

systemctl   enable docker

下面代表docker软件已经安装成功

Docker环境怎么构建redis单机容器

4.2    获取基础镜像

    可以直接在Linux编译环境下载Centos7基础镜像,要求编译环境是要能上外网连上hub.docker.com外网镜像仓库来下载镜像,下面输入docker search centos可以看到外网docker镜像仓库中有很多centos镜像。可以通过docker pull openshift/base-centos7命令来下载centos基础镜像。

 Docker环境怎么构建redis单机容器

    用docker pull已经将镜像下载到本地linux主机上面,接下来镜检查openshift/base-centos7镜像完整性,只要docker run命令来启动这个镜像,我们看到这个容器已经正常启起来。验证表明这个镜像是正常的。

 Docker环境怎么构建redis单机容器

    下面是docker日常用到的一些简单命令:

下载centos镜像

docker   pull openshift/base-centos7

查看镜像

docker   images

删除镜像

Docker   rmi <IMAGE ID >

运行docker容器

docker   run -itd  openshift/base-centos7 echo   "hello Word"

启停docker容器

docker   start <CONTAINER ID >

Docker   stop <CONTAINER ID >

Docker   kill <CONTAINER ID >

进入docker容器中

Docker   exec –it <CONTAINER ID > bash

Docker   attach <CONTAINER ID >

删除容器

Docker   rm <CONTAINER ID >

4.3    创建dockerfile构建redis环境

1、编写redis打包镜像的dockerfile步骤

Docker环境怎么构建redis单机容器

2、dockerfile编程

#引用centos基础镜像

FROM   openshift/base-centos7

MAINTAINER   jaymarco

#安装redis依赖包与redis软件

RUN   yum install GCc  gcc-c++ make  cmake    tar  Python-setuptools -y   && \

curl   -fL http://download.redis.io/releases/redis-3.2.3.tar.gz | tar xzf - -C /tmp   &&\

cd   /tmp/redis-3.2.3 && \

make   PREFIX=/usr/local/redis install && \

mkdir   -p /usr/local/redis/{bin,etc,var,logs} && \

cp   -af   src/{redis-benchmark,redis-check-aof,redis-check-rdb,redis-cli,redis-sentinel,redis-server}   /usr/local/redis/bin/ && \

cp   -a redis.conf /usr/local/redis/etc/    &&\

cp   -a sentinel.conf /usr/local/redis/etc/ &&\

echo   "export PATH=/usr/local/redis/bin:\$PATH" >   /etc/profile.d/redis.sh && \

source   /etc/profile.d/redis.sh && \

groupadd   -r redis &&\

useradd   -g redis  redis && \

chmod   -R 755 /usr/local/redis/etc && \

yum   clean all && \

rm   -rf /tmp/redis-3.2.3 &&\

/bin/cp   /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&\

echo   'Asia/Shanghai' >/etc/timezone

#redis参数优化

RUN   sed -e 's/^bind 127.0.0.1/#bind 127.0.0.1/' \

-e   's/#   save ""/save   ""/'   \

-e   's/save 900 1/#save 900 1/' \

-e   's/save 300 10/#save 300 10/' \

-e   's/save 60 10000/#save 60 10000/'  \

-e   's/appendonly no/appendonly yes/' \

-e   's/# maxmemory-policy noeviction/maxmemory-policy noeviction/' \

-e   '481i\requirepass Redis@2017' \

-e   '539i\maxmemory 2147483648' \

-i   /usr/local/redis/etc/redis.conf && \

sed   "s|dir ./|dir /usr/local/redis/dumpdb/|"  -i /usr/local/redis/etc/redis.conf   && \

sed   "s|logfile ""|logfile   "/usr/local/redis/logs/redis.log"|"  -i    /usr/local/redis/etc/redis.conf

#容器端口映射

EXPOSE   6379

#启动redis

ENTRYPOINT   ["/usr/local/redis/bin/redis-server", "/usr/local/redis/etc/redis.conf"]

4.4    构建redis镜像

    通过docker build执行创建,-t参数指定镜像名称,来构建redis镜像

    docker build -t redis:v3.2.3 .

    执行中会有类似输出: 

Docker环境怎么构建redis单机容器

执行完毕后,输入docker images可以查看当前本机的镜像,如下图,可以看到新增的镜像

Docker环境怎么构建redis单机容器

1.1    启动redis容器

    Redis是有状态数据,我们将redis的数据文件存储到本地宿主机,只需要在启动redis容器的时候将本地目录以卷的方式挂载到容器中。

    在本地宿主机创建一个redis存储目录

    mkdir –p /home/redisdump

  然后启动redis容器

docker run -itd --name redis

-v   /home/redisdump:/usr/local/redis/dumpdb \

-p   6379:6379 redis:v3.2.3

我们看到容器已经正常启动,并能查看到它正在运行的进行信息。

Docker环境怎么构建redis单机容器

1   验证redis容器

    启动redis容器的时候已将redis容器的6379端口映射到外面的宿主机6379端口,说明我们能够通过宿主机地址加上6379就能够访问redis容器里面的数据。

    现在我们来测试一下

Docker环境怎么构建redis单机容器

    现在宿主机上模拟插入一条数据,然后返回到容器查看数据是否存在

Docker环境怎么构建redis单机容器

    进入容器我们查看数据是有的,说明我们的镜像是成功的。

Docker环境怎么构建redis单机容器

到此,相信大家对“Docker环境怎么构建redis单机容器”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Docker环境怎么构建redis单机容器

本文链接: https://lsjlt.com/news/237567.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker环境怎么构建redis单机容器
    本篇内容主要讲解“Docker环境怎么构建redis单机容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker环境怎么构建redis单机容器”吧!1   背景介绍&n...
    99+
    2023-06-04
  • redis单机环境搭建
    安装版本  redis-2.8.18.tar.gz 过程  解压 tar xf xxx 下载gcc,tcl 命令编译器 yum -y install gcc tcl (命令名字别写错) 编译、创建目录、拷贝make && ...
    99+
    2020-11-20
    redis单机环境搭建
  • 基于docker构建中间件容器应用环境
    1 背景介绍为了方便开发人员对自己的应用代码进行镜像封装,需要提供一个中间件基础镜像让他们直接在上面封装应用镜像,然后在docker编译服务器上面按镜像打包流程了封装镜像,采用流水式的方式完成所有操作。今天给大家介绍一下如何将传统nginx...
    99+
    2023-06-04
  • docker-compose构建php运行环境(Nginx,mysql,redis+redis主从)
    在构建的前提下保证docker和docker-compose安装没问题 docker-compose.yml内容 version: "1.0.0"networks: #添加网络 web-net: driver: bridgese...
    99+
    2023-08-31
    docker php nginx
  • 怎么用Docker快速构建LEMP环境
    今天小编给大家分享一下怎么用Docker快速构建LEMP环境的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • Docker宿主机环境怎么搭建
    这篇文章主要介绍“Docker宿主机环境怎么搭建”,在日常操作中,相信很多人在Docker宿主机环境怎么搭建问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker宿主机环境怎么搭建”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • 怎么使用Docker容器搭建android编译环境
    本篇内容介绍了“怎么使用Docker容器搭建android编译环境”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 部署容器1.1 手动部署...
    99+
    2023-07-02
  • Linux环境下怎么使用Docker搭建Jenkins容器
    这篇文章主要讲解了“Linux环境下怎么使用Docker搭建Jenkins容器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux环境下怎么使用Docker搭建Jenkins容器”吧!需...
    99+
    2023-07-02
  • 怎么用docker-composer快速构建nginx+php环境
    这篇文章主要介绍“怎么用docker-composer快速构建nginx+php环境”,在日常操作中,相信很多人在怎么用docker-composer快速构建nginx+php环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-26
  • docker怎么搭建lnmp环境
    要搭建一个LNMP环境(即 Linux + Nginx + MySQL + PHP),可以使用Docker来实现。 以下是基本的步骤...
    99+
    2023-10-23
    docker lnmp
  • Docker容器中怎么设置环境变量
    在Docker容器中设置环境变量可以通过Dockerfile或者在运行容器时使用-e参数来实现。以下是两种设置环境变量的方法: 使...
    99+
    2024-04-02
  • Docker怎么搭建Django+Mariadb环境
    这篇文章主要讲解了“Docker怎么搭建Django+Mariadb环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么搭建Django+Mariadb环境”吧!Docker搭...
    99+
    2023-06-19
  • CentOS7下怎么搭建Docker环境
    这篇文章主要介绍了CentOS7下怎么搭建Docker环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CentOS7下怎么搭建Docker环境文章都会有所收获,下面我们一起来看看吧。Docker 是一个开源的...
    99+
    2023-06-28
  • docker环境搭建与容器常用指令是什么
    本文小编为大家详细介绍“docker环境搭建与容器常用指令是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“docker环境搭建与容器常用指令是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Docke...
    99+
    2023-07-02
  • docker 环境搭建、docker 与容器常用指令大全(推荐)
    目录一、Docker 环境搭建1. 准备工作(已有 Linux 环境可省略)2. 安装 Docker3. 设置 ustc 镜像二、Docker/容器操作命令汇总1. Docker 操...
    99+
    2024-04-02
  • 怎么搭建Redis集群环境
    怎么搭建Redis集群环境,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis集群简介Redis集群(Redis Cluster) 是...
    99+
    2024-04-02
  • centos怎么搭建部署docker环境
    这篇文章主要介绍“centos怎么搭建部署docker环境”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“centos怎么搭建部署docker环境”文章能帮助大家解决问题。1、Docker的存在解决的...
    99+
    2023-07-02
  • docker怎么搭建php开发环境
    要搭建PHP开发环境,可以使用Docker来快速部署。以下是基本的步骤:1. 安装Docker:根据你的操作系统,安装适合的Dock...
    99+
    2023-08-18
    docker php
  • docker怎么搭建python开发环境
    要搭建Python开发环境,可以使用Docker来进行部署。以下是一些步骤来设置Docker中的Python开发环境:1. 首先,安...
    99+
    2023-08-18
    docker python
  • 怎么使用docker搭建fastdfs环境
    本篇内容主要讲解“怎么使用docker搭建fastdfs环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用docker搭建fastdfs环境”吧!docker镜像的选择也挺重要的,我最开...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作