|
@@ -0,0 +1,81 @@
|
|
|
+# 使用 `docekt` 配置 `redis`
|
|
|
+> 使用 `Dockerfile` 进行安装管理
|
|
|
+> 基础系统环境 `ubuntu20.04`
|
|
|
+> 可以使用编译安装以及官方镜像安装的方式来进行安装
|
|
|
+> [docker官方文档]( https://docs.docker.com/engine/reference/commandline/run/ )
|
|
|
+## 编译安装
|
|
|
+### 0. 创造`docker`工作目录
|
|
|
+### 1. 获取 `redis` 编译安装文件
|
|
|
+前往[`redis`官网](https://redis.io/download/ )去选择下载对应的`redis`包
|
|
|
+这里使用的`redis`版本为[`redis-7.0.7`]( https://github.com/redis/redis/archive/7.0.7.tar.gz )
|
|
|
+下载完成后将`redis`放置于服务器的指定目录下
|
|
|
+
|
|
|
+### 2. `redis.con`配置文件准备
|
|
|
+获取`redis`运行必备的配置文件
|
|
|
+这里使用`github`上的[`redis.confg`]( https://github.com/redis/redis/blob/7.0/redis.conf )
|
|
|
+
|
|
|
+### 3. 创建并`Dockerfile`文件
|
|
|
+```shell
|
|
|
+vim Dockerfile
|
|
|
+```
|
|
|
+> 在`vim`中输入`i`进入编辑模式,然后开始编辑输入
|
|
|
+> 退出编辑则是按`esc`键,然后再输入`:wq`进行保存
|
|
|
+> 如果是不保存直接退出则是输入`:q`,输入`:q!`强制不保存退出
|
|
|
+
|
|
|
+### 4. 编辑`Dockerfile`
|
|
|
+```shell
|
|
|
+# 基础镜像
|
|
|
+FROM ubuntu:20.04
|
|
|
+MAINTAINER kindring
|
|
|
+VOLUME "/data"
|
|
|
+WORKDIR /root
|
|
|
+# 声明暴露的端口,与 redis.conf 中相似,可以忽略,不会自动开放
|
|
|
+EXPOSE 6379
|
|
|
+# 创建redis目录,以及安装redis编译环境 使用 && 符号连接命令,以防止镜像膨胀过大
|
|
|
+RUN mkdir redis \
|
|
|
+&& apt-get update \
|
|
|
+&& apt-get install software-properties-common -y \
|
|
|
+&& apt-get install gcc -y \
|
|
|
+&& apt-get install --reinstall make
|
|
|
+# 把解压好的 redis 文件 copy 进 docker 中,并且切换工作目录
|
|
|
+COPY ./redis-7.0.7 ./redis-7.0.7
|
|
|
+# 如果没有提前解压好对应的文件的话,可以在使用
|
|
|
+RUN tar xvzf redis-7.0.7.tar.gz
|
|
|
+WORKDIR ./redis-7.0.7
|
|
|
+# 开始编译并安装 redis
|
|
|
+RUN make \
|
|
|
+&& make install
|
|
|
+COPY ./redis.conf /etc/redis/redis.conf
|
|
|
+CMD redis-server /etc/redis/redis.conf
|
|
|
+```
|
|
|
+
|
|
|
+### 5. 构建 `redis` 的 `docker` 镜像
|
|
|
+```shell
|
|
|
+# redis_make 镜像名称
|
|
|
+# latest 版本标识号
|
|
|
+# 在版本号后面需要接一个点 .
|
|
|
+sudo docker build -t redis_me:latest .
|
|
|
+```
|
|
|
+
|
|
|
+### 6. 运行镜像
|
|
|
+运行命令需要使用`sudo`来授权
|
|
|
+-p 参数来指定端口 服务器监听的端口:docker内软件的端口
|
|
|
+-v 授权给 `docker` 可以访问的目录 服务实际目录:docker内的目录
|
|
|
+--name 分配一个名称给表格
|
|
|
+-it 在没有连接的情况下也保持标准输入打开状态,提供一个伪 bash 的体验
|
|
|
+
|
|
|
+部分参数表格
|
|
|
+
|
|
|
+| 选项 | 选项简写 | 说明 |
|
|
|
+| --- | --- | --- |
|
|
|
+| –detach | -d | 在后台运行容器,并且打印容器id。 |
|
|
|
+| –interactive | -i | 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用。 |
|
|
|
+| –tty | -t | 分配一个伪tty,一般与 -i 连用 |
|
|
|
+
|
|
|
+运行 `docker`
|
|
|
+```shell
|
|
|
+# 在运行后可以通过 name test_redis 来进行管理此镜像
|
|
|
+sudo docker run -p 6890:6379 -v /data/redis:/data/redis -v /data/redis/logs:/data/redis/logs --name test_redis -it redis_me:latest
|
|
|
+```
|
|
|
+
|
|
|
+### 7. 测试镜像使用
|