栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker案例 -- redis

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker案例 -- redis

李docker案例redis 讀1、redis 通过docker直接拉取
# 查看镜像 
$ docker images 

# 查看镜像创建的容器(只看运行的)
$ docker ps 

# 直接拉取  版本为6.2.6 
$ docker search redis # (搜索)
$ docker pull redis 

# 创建一个容器 并进入
$ docker run -it redis /bin/bash
root@0a7d004e2065:/data#
$ docker run -itd --name redis6 -p 6379:6379 redis # 设置容器名称(--name)以及映射端口号(-p)

# 创建容器  -v 挂载点
$ docker run -itd -p 6379:6379 -v ~/data:/data redis
301a8f610b98664db4790ba7222497f5e1f5771b3b0f7696eb2a925cddf8286f
# 查看创建的容器
$ docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                       NAMES
301a8f610b98   redis     "docker-entrypoint.s…"   8 seconds ago   Up 7 seconds   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   exciting_dubinsky

# 进入容器并且添加数据
$ docker exec -it 30 /bin/bash  # 30为容器id前两位
root@301a8f610b98:/data# 
$ redis-cli # 执行客户端
127.0.0.1:6379> 
$ set age 19 # 添加数据

# 配置服务
# 下载配置文件  这个是redis 7.0.xx配置文件与6.2.6不匹配
$ wget http://download.redis.io/redis-stable/redis.conf
# 下载6.2.6的 复制里面的redis.conf 
$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz
# 创建一个6379.conf 修改一些配置
$ vim 6379.conf

include redis.conf 
bind 0.0.0.0
protected-mode no
daemonize no
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename 6379.rdb
requirepass 123456

# 配置完以后创建容器
$ docker run -itd -p 6379:6379 --name redis -v ~/redis.conf:/data/redis.conf -v ~/6379.conf:/data/6379.conf -v ~/redis/data:/data redis redis-server 6379.conf
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                       NAMES
a74572ac1382   redis     "docker-entrypoint.s…"   7 minutes ago   Up 7 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp   redis

# 连接本机redis
$ docker run -it --rm redis redis-cli -h 192.168.118.129 -p 6379 -u 123456
讀2、redis dockerfile
# 创建目录redis7 准备文件
$ mkdir redis7
$ cd redis7
$ mkdir data
$ vim dockerfile


# 下载redis 7.0.0版本 通过终端直接上传
# 解压
$ tar zxvf redis-7.0.0.tar.gz
$ ls
dockerfile  redis-7.0.0  redis-7.0.0.tar.gz

# 进入 redis-7.0.0 执行编译
$ cd redis-7.0.0
$ make && make install
  
# 复制文件到data目录下 并删除多于的文件 
$ cp /redis-7.0.0/src/* data/ -r 
$ cd data # 后面命令都是在data目录下的执行的
$ rm *.h *.d *.o *.c  
$ rm Makefile valgrind.sup Makefile.dep
$ rm -rf modules/
$ ls
commands         redis-benchmark  redis-check-rdb  redis-sentinel  redis-trib.rb
mkreleasehdr.sh  redis-check-aof  redis-cli        redis-server

# 复制redis.conf  6379.conf
$ cp ~/redis7/redis-7.0.0/redis.conf .
$ cp ~/6379.conf .
$ ls 
6379.conf  mkreleasehdr.sh  redis-check-aof  redis-cli   redis-sentinel  redis-trib.rb
commands   redis-benchmark  redis-check-rdb  redis.conf  redis-server
# 回到redis7 目录 编写dockerfile
from ubuntu
copy data /data
Env PATH $PATH:.:/data
workdir /data
expose 6379
cmd ["redis-server","redis.conf"]
# 在redis7 创建镜像
$ docker build -t redis:7.0.0 .
Sending build context to Docker daemon  217.5MB
Step 1/6 : from ubuntu
 ---> ba6acccedd29
Step 2/6 : copy data /data
 ---> bbb7b3f1298b
Step 3/6 : Env PATH $PATH:.:/data
 ---> Running in 9665d3239369
Removing intermediate container 9665d3239369
 ---> 14a180faa3e3
Step 4/6 : workdir /data
 ---> Running in 788666dcb1d4
Removing intermediate container 788666dcb1d4
 ---> fd2a3c852ce0
Step 5/6 : expose 6379
 ---> Running in 788c24851c4f
Removing intermediate container 788c24851c4f
 ---> 83f046202a8e
Step 6/6 : cmd ["redis-server","redis.conf"]
 ---> Running in b69fa02ae47b
Removing intermediate container b69fa02ae47b
 ---> 40c090a83eba
Successfully built 40c090a83eba
Successfully tagged redis:7.0.0

# 创建容器 发现容器没有在运行
$ docker run -itd -P redis:7.0.0 
$ docker ps

查看日志,发现是编译新的在旧的服务器上运行不起来,需要安装一个模块,因为不好安装 所以选择下载新的服务器ubuntu22.04
最新的redis7需要使用ubuntu22.04
$ docker logs 4  # 4为容器id第一位
$ docker pull ubuntu:22.04  # 下载新版ubuntu

下载新版的ubuntu,dockerfile文件也要修改一下

/home/lyear/redis7/dockerfile

from ubuntu:22.04
Run apt update
Run apt upgrade -y
Run apt install gcc make -y
copy data /data
Env PATH $PATH:.:/data
workdir /data
Expose 6379
Cmd ["redis-server","redis.conf"]

复制redis.conf和编写6379.conf

$ cp ~/redis-7.0.0/redis.conf ~/redis7/data
$ vim ~/redis7/data/6379.conf

6379.conf的内容:

include redis.conf
bind 0.0.0.0
protected-mode no
daemonize no
pidfile /var/run/redis_6379.pid
logfile "6379.log"
dbfilename 6379.rdb
requirepass 123456

构建镜像

$ docker build -t redis:7.0.0 .

创建容器

$ docker run -itd -p 6379:6379 redis:7

客户端登录

$ docker run -it --rm redis:7 redis-cli -h 192.168.118.129 -p 6379 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870887.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号