问题描述
比如我下载了一个redis的镜像,我想在启动redis容器前修改redis的配置,去哪里修改呢?另外docker到底把redis安装到哪里去了?我在docker的命令行里面好像没法find到redis的安装目录啊
问题解答
回答1:修改配置的话,有下面几种方法:
1、阅读redis镜像提供方的readme,按照他的方式来(一般是改改ENV之类的方法)2、使用数据卷的方式将redis配置文件mount进去3、docker run先启动一个实例,进去修改,修改完成后docker commit一下,将这个容器变成镜像。
一般推荐第一个。
回答2:赞成楼上的做法。
我看到这个问题首先想到的就是去docker hub搜官方的redis镜像.然后看了redis的Dockerfile。官方的方法是(对应楼上的1)
Additionally, If you want to use your own redis.conf ...You can create your own Dockerfile that adds a redis.conf from the context into /data/, like soFROM redisCOPY redis.conf /usr/local/etc/redis/redis.confCMD [ 'redis-server', '/usr/local/etc/redis/redis.conf' ]
或者
$ docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
这个镜像启动的时候就默认运行redis-server了。无法通过docker run -it redis修改。试图docker run -it redis /bin/bash进去覆盖默认的启动命令然后添加自己的配置就好了。
希望能帮到你