Docker(十):如何设置Docker容器的配置

一. 场景说明
    在安装Docker镜像并启动运行容器实例时,我们应该要考虑到一个很重要的问题:因为后期可能会更改配置,那么配置文件的如何设置最好?

二. 使用容器数据卷的方式将配置挂载到宿主机指定目录
    这种方式是我认为最好的方式,在创建容器时使用数据卷的方式直接将容器的配置路径映射到宿主机指定目录,这样,后期我们只需要修改宿主机目录的配置,容器内的配置就自动更新了。另外,在创建容器时,因为默认是不带vim命令的,所以如果要在容器内修改配置,还得再另外安装vim命令。
以下是在创建redis容器时手动指定配置的挂载目 示例:

docker run -p 6379:6379 -v /redis/data:/data -v /redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis:3.2 redis-server /usr/local/etc/redis/redis.conf --appendonly yes

三. 容器无法启动了,怎么修改配置
    假如我们没有使用数据卷,且现在容器因为异常原因,比如配置错误,原本ok的容器不能启动了,那么比较暴力的方法就是直接删除容器重新创建一个。这样做是可以的,但是你的配置或插件就得重新安装,比较麻烦。最小的代价当然是修改原来的配置让它能启动了。

四. 两次cp
    这里假设我开启的容器是res-node-1,容器配置路径:/usr/share/elasticsearch/config。那么针对上面的问题,一种行之有效的解决方案就是:将容器的配置cp出来(到宿主机),修改正确然后cp回去,启动就行了。

docker cp es-node-1:/usr/share/elasticsearch/config/elasticsearch.yml . #cp出来,到宿主机当前目录下
vi elasticsearch.yml #修改配置
docker cp elasticsearch.yml es-node-1:/usr/share/elasticsearch/config/elasticsearch.yml #cp回去
docker start es-node-1 #重启

一句话总结就是:把改错了的配置文件拷贝出来到本地,然后修改正确后再重新复制进docker容器当中,这中间过程是不需要启动容器的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值