【第1步】创建docker网络
默认的网络是docker0,这个网络在容器内部只能通过容器的ip访问,不能通过容器名访问,所以凡是我们自己安装的软件及部署的业务项目,全部用自己创建的网络。
创建docker网络,取名mynet,网段为172.19.0.0/16
docker network create --subnet 172.19.0.0/16 --gateway 172.19.0.1 mynet
注意网段不要用172.17.0.0/16,这个网段被默认的网络docker0使用了。
【第2步】下载redis:6.2.6版本的镜像
查看 Redis 镜像库地址:https://hub.docker.com/_/redis?tab=tags
下载redis镜像.
docker pull redis:6.2.6
如果不加版本号(:6.2.6)表示下载最新版本。
从redis官网下载 redis配置文件: http://download.redis.io/redis-stable/redis.conf
修改redis.conf配置文件
#bind 127.0.0.1 #注释掉这部分,使redis可以外部访问 protected-mode no #修改为no,去掉保护模式,让外网可以访问 daemonize no #修改为no,不用守护线程的方式启动 requirepass 123456 #密码 appendonly yes #redis持久化,默认是no
在宿主机上新建目录 /mydata/redis/conf
mkdir -p /mydata/redis/conf
将配置文件 redis.conf 拷贝到 /mydata/redis/conf/ 下面.
用配置文件方式启动redis
docker run -d -p 6379:6379 --name myredis -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data --net mynet redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes
如果redis.conf配置文件里的 appendonly yes 配置为no,启动redis的时候可以加 --privileged=true参数持化启动.
docker run -d -p 6379:6379 --name myredis -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data --net mynet redis:6.2.6 redis-server /etc/redis/redis.conf --appendonly yes --privileged=true