grafana从本地迁移到docker中

     近期由于grafana-image-render的一些问题,grafana是本地部署,而grafana-image-render是运行在docker容器中的,中间出现了一些配置上的问题无法解决,因此不得不把grafana从本地部署迁移到docker容器中,使得grafana和grafana-image-render一起运行在容器中。

      迁移使用的是docker-compose组件作为容器的管理工具,迁移之前,有一些grafana的文件和目录需要备份和注意:      

/etc/grafana/grafana.ini
/var/lib/grafana
/usr/share/grafana
/var/log/grafana
/var/lib/grafana/plugins
/etc/grafana/provisioning

 上述文件和目录最好进行一个备份,后续会通过文件挂载的方式挂载到容器中以将原来本地的grafana配置映射到容器中。

  备份好之后,添加docker-compose.yml文件,文件中添加以下内容:   

version: '2'

services:
  grafana:
    image: grafana/grafana:latest
    user: root
    ports:
      - '3000:3000'
    environment:
      PATH: "/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      GF_PATHS_CONFIG: /etc/grafana/grafana.ini
      GF_PATHS_DATA: /var/lib/grafana
      GF_PATHS_HOME: /usr/share/grafana
      GF_PATHS_LOGS: /var/log/grafana
      GF_PATHS_PLUGINS: /var/lib/grafana/plugins
      GF_PATHS_PROVISIONING: /etc/grafana/provisioning
      GF_RENDERING_SERVER_URL: http://renderer:8081/render
      GF_RENDERING_CALLBACK_URL: http://grafana:3000/
      GF_LOG_FILTERS: rendering:debug
    volumes:
      - "/etc/grafana/grafana.ini:/etc/grafana/grafana.ini"
      - "/var/lib/grafana:/var/lib/grafana"
      - "/usr/share/grafana:/usr/share/grafana"
      - "/var/log/grafana:/var/log/grafana"
      - "/var/lib/grafana/plugins:/var/lib/grafana/plugins"
      - "/etc/grafana/provisioning:/etc/grafana/provisioning"
  renderer:
    image: grafana/grafana-image-renderer:latest
    ports:
      - '8081:8081'
    environment:
      ENABLE METRICS: "true"
      RENDERING DUMPIO: "true"
      LOG LEVEL: debug
      RENDERING ARGS: --no-sandbox,--disable-gpu

  比较关键的一部分内容是上述文件中的volumes配置,volumes通过挂载将本地的配置映射到容器中,以保证迁移之后原先grafana中的配置可以原封不动的迁移到docker中。

  配置好之后,输入以下命令以自动下载grafana镜像和image-render镜像并启动容器。 

docker-compose up -d

   迁移过程遇到容器启动失败的问题,docker-compose logs -f 发现报如下错误:

grafana_1   | GF_PATHS_CONFIG='/etc/grafana/grafana.ini' is not readable.
grafana_1   | GF_PATHS_DATA='/var/lib/grafana' is not writable.

   解决办法:指定grafana容器的启动用户为root即可,即添加user: root。   

version: '2'

services:
  grafana:
    image: grafana/grafana:latest
    user: root

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值