6,docker基础之---Dockerfile构建redis
  TEZNKK3IfmPf 2023年11月14日 18 0
编写redis编译安装shell脚本redis_instll.sh
#!/bin/bash
yum install gcc gcc-c++ make openssl openssl-devel -y
cd /home/redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /home/redis-4.0.9/redis.conf /usr/local/redis/conf/
上传压缩包到/home/目录下:
[root@docker home]# ll
总用量 1700
-rw-r--r-- 1 root root 1737022 25 15:40 redis-4.0.9.tar.gz
[root@docker home]#
本机使用shell脚本安装:
[root@docker home]# cat redis_install.sh
#!/bin/bash
yum install gcc gcc-c++ make openssl openssl-devel -y
cd /home/redis-4.0.9
make && make PREFIX=/usr/local/redis install
mkdir -p /usr/local/redis/conf/
cp /home/redis-4.0.9/redis.conf /usr/local/redis/conf/
[root@docker home]# shredis_install.sh
启动:
[root@docker redis]# /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf

6,docker基础之---Dockerfile构建redis

dockerfile部署redis

FROM centos:7
ADD redis-4.0.9.tar.gz /home
COPY redis_install.sh /home
RUN sh /home/redis_install.sh
ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@docker home]# cat dockerfile
FROM centos:7
ADD redis-4.0.9.tar.gz /home
COPY redis_install.sh /home
RUN sh /home/redis_install.sh
ENTRYPOINT /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
[root@docker home]#
执行:
[root@docker home]# docker build -t mycentos:redis .
查看:
[root@docker home]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos redis 4581526f39e6 11 seconds ago 599MB
centos 7 eeb6ee3f44bd 16 months ago 204MB
[root@docker home]#
启动容器:
[root@docker home]# docker run -itd mycentos:redis
044dc83758de255a0ed9f80e34572e9cd14b58f23b2e34cbb89570d01f657f1c
[root@docker home]#
进入容器:
[root@docker home]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
044dc83758de mycentos:redis "/bin/sh -c '/usr/lo…" 2 minutes ago Up 2 minutes peaceful_almeida
[root@docker home]# docker exec -it 044dc83758de /bin/bash
[root@044dc83758de /]#
查看进程:(redis默认端口号是6379)
[root@044dc83758de /]# ps -ef | grep redis
root 1 0 0 08:19 pts/0 00:00:00 /usr/local/redis/bin/redis-server 127.0.0.1:6379
root 27 10 0 08:23 pts/1 00:00:00 grep --color=auto redis
[root@044dc83758de /]#
用redis客户端进入redis验证:
[root@044dc83758de /]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> set name lengyingxi
OK
127.0.0.1:6379> get name
"lengyingxi"
127.0.0.1:6379> exit
[root@044dc83758de /]# exit
exit
[root@docker home]#
本机连接redis:
重新启动一台redis容器先把端口映射的宿主机:
[root@docker home]# docker run -itd -p 6380:6379 mycentos:redis
89fb6dccdcca3fb5bf90dd15512c4385bca7b38051e7f9c45455ee3cbb3e8f9d
[root@docker home]#

6,docker基础之---Dockerfile构建redis

登录客户端:
[root@docker home]# /usr/local/redis/bin/redis-cli -p 6380
127.0.0.1:6380>
127.0.0.1:6380>
127.0.0.1:6380> set name lengyingxi
Error: Connection reset by peer #出现这个说明redis出现了保护模式需要进行修该一下
[root@docker home]#
进入:
[root@docker home]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89fb6dccdcca mycentos:redis "/bin/sh -c '/usr/lo…" 3 minutes ago Up 3 minutes 0.0.0.0:6380->6379/tcp, :::6380->6379/tcp happy_neumann
044dc83758de mycentos:redis "/bin/sh -c '/usr/lo…" 12 minutes ago Up 12 minutes peaceful_almeida
[root@docker home]# docker exec -it 89fb6dccdcca /bin/bash
[root@89fb6dccdcca /]#
进入容器之后编辑配置文件:
[root@89fb6dccdcca /]# vi /usr/local/redis/conf/redis.conf

下框搜索:/protected-mode

6,docker基础之---Dockerfile构建redis

下框搜索:/bind 127.0.0.1

6,docker基础之---Dockerfile构建redis

或者在shell脚本里面再添加两行执行的时候也就直接执行了:
sed -i '69s/127.0.0.1/0.0.0.0/' /usr/local/redis/conf/redis.conf
sed -i '88s/protect-mode yes/protect-mode no/' /usr/local/redis/conf/redis.conf
进行重启容器:
[root@docker home]# docker restart 89fb6dccdcca
89fb6dccdcca
[root@docker home]#
然后用主机客户端去连接:
[root@docker home]# /usr/local/redis/bin/redis-cli -p 6380
127.0.0.1:6380> set name lengyingxi
OK
127.0.0.1:6380> get name
"lengyingxi"
127.0.0.1:6380> exit
[root@docker home]#
查看详情信息:
[root@docker home]# docker inspect 89fb6dccdcca

6,docker基础之---Dockerfile构建redis

注意这里的端口是6379是redis的默认端口6380是咱们映射过去的而且进入之后也会显示ip及端口
[root@docker home]# /usr/local/redis/bin/redis-cli -h 172.17.0.3 -p 6379
172.17.0.3:6379> get name
"lengyingxi"
172.17.0.3:6379> set name lyx
OK
172.17.0.3:6379> get name
"lyx"
172.17.0.3:6379> exit
[root@docker home]#
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   27   0   0 redis用户
  TEZNKK3IfmPf   2024年04月26日   42   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 dataredis
  TEZNKK3IfmPf   2024年05月31日   27   0   0 awkredis
  TEZNKK3IfmPf   2024年04月26日   37   0   0 linuxnginxcentos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年04月26日   54   0   0 Docker
TEZNKK3IfmPf