求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
要资料
 
 

Docker 入门实战
Docker 教程
Docker 架构
Docker 安装
Ubuntu Docker 安装
CentOS Docker 安装
Windows Docker 安装
Docker使用
Docker Hello World
Docker 容器使用
Docker 镜像使用
Docker 容器连接
Docker实例
Docker 安装 Nginx
Docker 安装 PHP
Docker 安装 MySQL
Docker 安装 Tomcat
Docker 安装 Python
Docker 安装 Redis
Docker 安装 MongoDB
Docker 安装 Apache
Docker参考手册
Docker 常用命令
 
 

Docker 安装 Redis
1004 次浏览
25次  

方法一、通过 Dockerfile 构建

创建Dockerfile

首先,创建目录redis,用于存放后面的相关东西。

w3cschool@w3cschool:~$ mkdir -p ~/mongo ~/mongo/db

data目录将映射为redis容器配置的/data目录,作为redis数据持久化的存储目录

进入创建的redis目录,创建Dockerfile

FROM debian:jessie
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
RUN groupadd -r redis && useradd -r -g redis redis
RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    wget \
   && rm -rf /var/lib/apt/lists/*
# grab gosu for easy step-down from root
ENV GOSU_VERSION 1.7
RUN set -x \
    && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \
    && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \
    && export GNUPGHOME="$(mktemp -d)" \
    && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
    && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
    && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
    && chmod +x /usr/local/bin/gosu \
    && gosu nobody true
ENV REDIS_VERSION 3.2.0
ENV REDIS_DOWNLOAD_URL http://download.redis.io/releases/redis-3.2.0.tar.gz
ENV REDIS_DOWNLOAD_SHA1 0c1820931094369c8cc19fc1be62f598bc5961ca
# for redis-sentinel see: http://redis.io/topics/sentinel
RUN buildDeps='gcc libc6-dev make' \
    && set -x \
    && apt-get update && apt-get install -y $buildDeps --no-install-recommends \
    && rm -rf /var/lib/apt/lists/* \
    && wget -O redis.tar.gz "$REDIS_DOWNLOAD_URL" \
    && echo "$REDIS_DOWNLOAD_SHA1 *redis.tar.gz" | sha1sum -c - \
    && mkdir -p /usr/src/redis \
    && tar -xzf redis.tar.gz -C /usr/src/redis --strip-components=1 \
    && rm redis.tar.gz \
    && make -C /usr/src/redis \
    && make -C /usr/src/redis install \
    && rm -r /usr/src/redis \
    && apt-get purge -y --auto-remove $buildDeps
RUN mkdir /data && chown redis:redis /data
VOLUME /data
WORKDIR /data
COPY docker-entrypoint.sh /usr/local/bin/
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 6379
CMD [ "redis-server" ]

通过Dockerfile创建一个镜像,替换成你自己的名字

w3cschool@w3cschool:~/redis$ docker build -t redis:3.2 .

创建完成后,我们可以在本地的镜像列表里查找到刚刚创建的镜像

方法二、docker pull redis:3.2

查找Docker Hub上的redis镜像

这里我们拉取官方的镜像,标签为3.2

w3cschool@w3cschool:~/redis$ docker pull redis:3.2

等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为redis,标签为3.2的镜像。

使用redis镜像

运行容器

w3cschool@w3cschool:~/redis$ docker run -p 6379:6379 -v $PWD/data:/data -d redis:3.2 redis-server --appendonly yes
43f7a65ec7f8bd64eb1c5d82bc4fb60e5eb31915979c4e7821759aac3b62f330
w3cschool@w3cschool:~/redis$

命令说明:

1.-p 6379:6379 :将容器的6379端口映射到主机的6379端口

2.-v $PWD/data:/data :将主机中当前目录下的data挂载到容器的/data

3.redis-server --appendonly yes :在容器执行redis-server启动命令,并打开redis持久化配置

查看容器启动情况

连接、查看容器

使用redis镜像执行redis-cli命令连接到刚启动的容器,主机IP为172.17.0.1

w3cschool@w3cschool:~/redis$ docker run -it redis:3.2 redis-cli -h 172.17.0.1
172.17.0.1:6379> info
# Server
redis_version:3.2.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:f449541256e7d446
redis_mode:standalone
os:Linux 4.2.0-16-generic x86_64
arch_bits:64
multiplexing_api:epoll
...


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1004 次浏览
25次
 捐助