瀏覽代碼

1. docker 配置 redis (编译安装部分)

kindring 2 年之前
父節點
當前提交
f68132739a
共有 1 個文件被更改,包括 81 次插入0 次删除
  1. 81 0
      docker/docker配置redis镜像.md

+ 81 - 0
docker/docker配置redis镜像.md

@@ -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. 测试镜像使用