redash oracle 数据源docker 镜像
redash 官方的docker 镜像是没有包含oracle的,需要我们自己添加,参考了一个docker 镜像进行了简单的修改
Dockerfile
FROM redash/redash:7.0.0.b18042
USER root
# Oracle instantclient
ADD oracle/instantclient-basic-linux.x64-12.2.0.1.0.zip /tmp/instantclient-basic-linux.x64-12.2.0.1.0.zip
ADD oracle/instantclient-sdk-linux.x64-12.2.0.1.0.zip /tmp/instantclient-sdk-linux.x64-12.2.0.1.0.zip
ADD oracle/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip /tmp/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip
RUN apt-get update -y
RUN apt-get install -y unzip
RUN unzip /tmp/instantclient-basic-linux.x64-12.2.0.1.0.zip -d /usr/local/
RUN unzip /tmp/instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/local/
RUN unzip /tmp/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local/
RUN ln -s /usr/local/instantclient_12_2 /usr/local/instantclient
RUN ln -s /usr/local/instantclient/libclntsh.so.12.1 /usr/local/instantclient/libclntsh.so
RUN ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus
RUN apt-get install libaio-dev -y
RUN apt-get clean -y
ENV ORACLE_HOME=/usr/local/instantclient
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/instantclient
COPY oracle.py /app/redash/query_runner/oracle.py
RUN pip install cx_Oracle==5.3
USER redash
#Add REDASH ENV to add Oracle Query Runner
ENV REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.oracle
说明
实际上官方文档提供了一些简单的说明在 oracle
内容如下:
# Requires installation of, or similar versions of:
# oracle-instantclient12.2-basic_12.2.0.1.0-1_x86_64.rpm
# oracle-instantclient12.2-devel_12.2.0.1.0-1_x64_64.rpm
cx_Oracle==5.3
上边的镜像参考了https://github.com/joaoleite/redash_oracle,同时指定新oracle client 以及python 包
同时如果需要启用oracle,需要添加REDASH_ADDITIONAL_QUERY_RUNNERS
环境变量,内容为
ENV REDASH_ADDITIONAL_QUERY_RUNNERS=redash.query_runner.oracle
以上同时包含了一个对于中文乱码的问题oracle.py, 需要添加的代码
import os
os.environ['NLS_LANG'] = 'AMERICAN_CHINA.ZHS16GBK'
docker-compose 运行
- docker-compose 文件
version: '3'
services:
server:
image: dalongrong/redash-oracle:7.0.0.b18042
command: server
env_file: ./opt/redash/env
ports:
- "5000:5000"
environment:
REDASH_WEB_WORKERS: 4
scheduler:
image: dalongrong/redash-oracle:7.0.0.b18042
command: scheduler
env_file: ./opt/redash/env
environment:
QUEUES: "celery"
WORKERS_COUNT: 1
scheduled_worker:
image: dalongrong/redash-oracle:7.0.0.b18042
command: worker
env_file: ./opt/redash/env
environment:
QUEUES: "scheduled_queries,schemas"
WORKERS_COUNT: 1
adhoc_worker:
image: dalongrong/redash-oracle:7.0.0.b18042
command: worker
env_file: ./opt/redash/env
environment:
QUEUES: "queries"
WORKERS_COUNT: 2
redis:
image: redis:5.0-alpine
restart: always
postgres:
image: postgres:9.5-alpine
env_file: ./opt/redash/env
volumes:
- ./opt/redash/postgres-data:/var/lib/postgresql/data
restart: always
nginx:
image: redash/nginx:latest
ports:
- "80:80"
depends_on:
- server
links:
- server:redash
restart: always
- 环境变量说明
详细的环境变量可以参考opt/redash/env - 启动
docker-compose up -d
docker-compose run --rm server create_db
效果
说明
docker 镜像我已经push dockerhub 了dalongrong/redash-oracle
参考资料
https://github.com/joaoleite/redash_oracle
https://github.com/rongfengliang/redash_oracle
https://github.com/getredash/redash/blob/master/requirements_oracle_ds.txt
redash oracle 数据源docker 镜像的更多相关文章
- 构建Oracle的Docker镜像
说明:本次构建环境,Centos7.7,Oracle12.2.0.1,Docker19 注意:已安装好docker的,请检查docker版本,1.13以下版本要升级: # df -h 命令检查根目录的 ...
- 从零开始构建一个centos+jdk7+tomcat7的docker镜像文件
从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备好的 ...
- doris 0.9.0版本docker镜像制作与使用
1. 安装docker 详情请参见本人博客 2. 编译doris 详情请参见doris官网文档 3. 在编译好的doris output文件夹下编写两个Dockerfile 3.1 Dockerfi ...
- Docker、Dockerfile、Docker镜像、容器这些都是什么鸟?
老生常谈,再再再……普及一下: Docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker. Dockerfile: ...
- Docker容器打包成镜像 - OpenDaylight官方 SDN Hub Tutorial VM 的docker镜像
由于工作需要,在看OpenDaylight (一个SDN的开源控制器) 官方Tutorial有一个比较基础且介绍比较详细的文档(http://sdnhub.org/tutorials/opendayl ...
- springboot整合docker部署(两种构建Docker镜像方式)--2019-3-5转
原文:https://www.cnblogs.com/shamo89/p/9201513.html 项目结构 package hello; import org.springframework.boo ...
- springboot整合docker部署(两种构建Docker镜像方式)
项目结构 package hello; import org.springframework.boot.SpringApplication; import org.springframework.bo ...
- 【译】从现有的容器里创建新的Docker镜像
如果你修改了一个容器的内容,你可以使用docker commit命令将现有的容器状态保存为一个镜像. 下面的例子展示了如何修改一个基于oraclelinux:6.6的容器使得其能够运行Apache H ...
- ARM64架构下,OpenJDK的官方Docker镜像为何没有8版本
为什么需要ARM64架构的OpenJDK8的Docker镜像 对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(也可能是其他ARM环境 ...
随机推荐
- linux下启动tomcat时卡在Deploying web application directory
找到jdk1.x.x_xx/jre/lib/security/Java.security文件,在文件中找到securerandom.source这个设置项,将其改为: securerandom.sou ...
- MOOC C++笔记(六):多态
多态 虚函数 在类的定义中,前面有virtual关键字的成员函数就是虚函数. virtual关键字只用在类定义里的函数声明中,写函数体时不用. 构造函数和静态成员函数不能是虚函数. 多态的表现形式 基 ...
- SpringCloud微服务基础学习
看了蚂蚁课堂的微服务学习,确实学习了不少关于微服务的知识,现在总结学习如下 : SpringCloud微服务基础单点系统架构传统项目架构传统项目分为三层架构,将业务逻辑层.数据库访问层.控制层放入在一 ...
- C# 调用 C++ dll的两种方式
目录: 1.非托管方式 2.托管方式 3.介绍 extern "C" 4.介绍 DllImport 1.非托管方式 第一种,非托管方式:调用类和方法https://www.co ...
- CSS样式表及选择器相关内容(一)
CSS(Cascading Style Sheets)层叠样式表1.CSS级联-CSS层叠:规定在哪个HTML中使用哪个样式. body{ font-size:16px; //body默认字体大小 } ...
- Android为TV端助力之QQ空间热更新技术
直接上代码 package com.enjoy.patch; import android.content.Context;import android.os.Build;import android ...
- MySQL分组查询每组最新的一条数据(通俗易懂)
开发中经常会遇到,分组查询最新数据的问题,比如下面这张表(查询每个地址最新的一条记录): sql如下: -- ---------------------------- -- Table structu ...
- MySQL 5.7的复制架构,在有异步复制、半同步、增强半同步、MGR等的生产中,该如何选择?
一.生产环境中: 几种复制场景都有存在的价值.下面分别描述一下: 从成熟度上来选择,推荐:异步复制(GTID+ROW) 从数据安全及更高性能上选择:增强半同步 (在这个结构下也可以把innodb_fl ...
- vue---axios实现数据交互与跨域问题
1. 通过axios实现数据请求 vue.js默认没有提供ajax功能的. 所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互. 注意,axios本质上就是java ...
- MySQL/MariaDB数据库的用户和权限管理
MySQL/MariaDB数据库的用户和权限管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.元数据数据库(mysql) 系统授权表(均在mysql数据库中): db hos ...