mkdir /docker/redis/{conf,data}
docker run -d \
--privileged=true \
-p 6379:6379 \
--restart always \
-v /docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /docker/redis/data:/data \
--name myredis redis redis-server /etc/redis/redis.conf \
--appendonly yes
参数说明
:
--privileged=true:容器内的root拥有真正root权限,否则容器内root只是外部普通用户权限
-d:后台启动
-p 16379:6389:将宿主机的16379端口和容器的6389端口进行映射关联,外界可以通过访问宿主机的16379访问到容器的6389端口,这里由于我配置了redis的启动端口为6389所以这里容器需要通过6389才能找到redis;
-v /docker/redis/conf:/etc/redis/conf:映射规则宿主机目录:容器目录,这里挂载的是整个文件夹目录不是配置文件,千万别弄错了,我们这里就是把我们存放配置文件的目录和容器中我们准备存放配置文件的目录进行了一个挂载映射,这样我们修改外置配置文件并且重新启动容器以后就会挂载外面的配置文件了,注意:外置目录最好事先准备好
-v /docker/redis/data:/etc/redis/data:这个就和上面一样了
--name myredis:给容器起个名字[唯一]
redis: 指定镜像名称
redis-server /etc/redis/conf/redis.conf:指定使用哪个配置文件启动redis容器,注意这里填写的是你挂载进去以后,配置文件所在的容器内部位置
--appendonly yes:开启数据持久化