Redash 9 Docker方式安装与配置详解

安装docker

卸载原系统docker

apt-get remove docker docker-engine docker.io

安装docker

curl -sSL https://get.docker.com/ | sh

安装docker-compose

安装docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

或者

https://github.com/docker/compose/releases里找到docker-compose-linux-x86_64后手动下载放置在/usr/local/bin下。

cd /usr/local/bin

mv docker-compose-linux-x86_64 docker-compose

chmod +x docker-compose

下载Redash 9

https://github.com/getredash/redash/tree/release/9.0.x

下载9.0分支下的源代码。

unzip redash-release-9.0.x.zip

cd redash-release-9.0.x

初始化环境

sudo docker-compose up

准备依赖包

手动下载IBmDB相关包

wget  https://pypi.tuna.tsinghua.edu.cn/packages/98/cb/f77d9bd5f64246074af364cc30e20e3044c533890f3b67d30e89615c2fc5/ibm_db-3.0.1.tar.gz

wget   https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz

上传如上压缩包到redash 9的package目录(需新建)内。

修改Dockerfile

WORKDIR /app

COPY packages/ibm_db-3.0.1.tar.gz packages/linuxx64_odbc_cli.tar.gz ./

RUN tar -zxvf ibm_db-3.0.1.tar.gz

RUN tar -zxvf linuxx64_odbc_cli.tar.gz -C ibm_db-3.0.1/

WORKDIR /app/ibm_db-3.0.1

RUN python setup.py install

WORKDIR /app

COPY requirements.txt requirements_bundles.txt requirements_dev.txt requirements_all_ds.txt ./

注:在COPY requirements.txt…之上加入上述内容。

修改pip源

用国内的pip源,加入参数-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

完整的Dockerfile

FROM node:12 as frontend-builder

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list

RUN apt-get clean

# Controls whether to build the frontend assets

ARG skip_frontend_build

WORKDIR /frontend

COPY package.json package-lock.json /frontend/

COPY viz-lib /frontend/viz-lib

RUN if [ "x$skip_frontend_build" = "x" ] ; then npm ci --unsafe-perm; fi

COPY client /frontend/client

COPY webpack.config.js /frontend/

RUN if [ "x$skip_frontend_build" = "x" ] ; then npm run build; else mkdir -p /frontend/client/dist && touch /frontend/client/dist/multi_org.html && touch /frontend/client/dist/index.html; fi

FROM python:3.7-slim

EXPOSE 5000

# Controls whether to install extra dependencies needed for all data sources.

ARG skip_ds_deps

# Controls whether to install dev dependencies.

ARG skip_dev_deps

RUN useradd --create-home redash

# Ubuntu packages

RUN apt-get update && \

apt-get install -y \

curl \

gnupg \

build-essential \

pwgen \

libffi-dev \

sudo \

git-core \

wget \

# Postgres client

libpq-dev \

# ODBC support:

g++ unixodbc-dev \

# for SAML

xmlsec1 \

# Additional packages required for data sources:

libssl-dev \

default-libmysqlclient-dev \

freetds-dev \

libsasl2-dev \

unzip \

libsasl2-modules-gssapi-mit #&& \

# MSSQL ODBC Driver:

#curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \

#curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list && \

#apt-get update && \

#ACCEPT_EULA=Y apt-get install -y msodbcsql17 odbcinst1debian2  unixodbc && \

#apt-get clean && \

#rm -rf /var/lib/apt/lists/*

#ARG databricks_odbc_driver_url=https://databricks.com/wp-content/uploads/2.6.10.1010-2/SimbaSparkODBC-2.6.10.1010-2-Debian-64bit.zip

#ADD $databricks_odbc_driver_url /tmp/simba_odbc.zip

#RUN unzip /tmp/simba_odbc.zip -d /tmp/ \

#&& dpkg -i /tmp/SimbaSparkODBC-*/*.deb \

#&& echo "[Simba]\nDriver = /opt/simba/spark/lib/64/libsparkodbc_sb64.so" >> /etc/odbcinst.ini \

#&& rm /tmp/simba_odbc.zip \

#&& rm -rf /tmp/SimbaSparkODBC*

WORKDIR /app

# Disalbe PIP Cache and Version Check

ENV PIP_DISABLE_PIP_VERSION_CHECK=1

ENV PIP_NO_CACHE_DIR=1

# We first copy only the requirements file, to avoid rebuilding on every file

# change.

WORKDIR /app

COPY packages/ibm_db-3.0.1.tar.gz packages/linuxx64_odbc_cli.tar.gz ./

RUN tar -zxvf ibm_db-3.0.1.tar.gz

RUN tar -zxvf linuxx64_odbc_cli.tar.gz -C ibm_db-3.0.1/

WORKDIR /app/ibm_db-3.0.1

RUN python setup.py install

WORKDIR /app

COPY requirements.txt requirements_bundles.txt requirements_dev.txt requirements_all_ds.txt ./

RUN if [ "x$skip_dev_deps" = "x" ] ; then pip install -r requirements.txt -r requirements_dev.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; else pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; fi

RUN if [ "x$skip_ds_deps" = "x" ] ; then pip install -r requirements_all_ds.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; else echo "Skipping pip install -r requirements_all_ds.txt" ; fi

COPY . /app

COPY --from=frontend-builder /frontend/client/dist /app/client/dist

RUN chown -R redash /app

USER redash

ENTRYPOINT ["/app/bin/docker-entrypoint"]

CMD ["server"]

部署Redash

docker-compose up

注:如果安装python包时出现依赖的错误,将requirements.txt 、requirements_all_ds.txt里的版本范围删除即可。

初始化Redash库表

sudo docker-compose -f docker-compose.yml run --rm server create_db

启动及停止Redash服务

# 初始化成功后,可以通过start命令启动redash服务

sudo docker-compose start

sudo docker-compose stop

安装前端

安装npm

sudo apt install libssl1.0-dev

sudo apt install nodejs-dev

sudo apt install node-gyp

sudo apt install npm

安装sql-formatter

#1下载sql-formatter-masterzip包

https://codeload.github.com/getredash/sql-formatter/zip/refs/heads/master

#2 安装sql-formatter

npm i sql-formatter –S

前端构建

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -

yum install -y nodejs

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install

cnpm run build

确保redash-release-9.0.x/client/dist目录内有内容即可进入系统页面。或者下载别人编译好的文件,详见:

链接:https://pan.baidu.com/s/1vCkJFxYUdYjSEeQ4ZwH0IQ

提取码:u2re

访问redash

Redash 9安装与配置(基于Docker方式)相关推荐

  1. 基于Docker方式实现Elasticsearch集群

    文本环境:Docker + (Elasticsearch6.8.5 * 3) 1.拉取Elasticsearch docker pull elasticsearch6.8.5 2.创建es挂载目录 创 ...

  2. Docker 安装 redis 、Redis docker 方式部署

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 找镜像: docker search redis 2. 拉取镜像: 在这一步可以选择版本,不选 ...

  3. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  4. 在云服务器上基于docker安装jenkins

    jenkins是老牌的CI/CD工具.下面记录一下在云服务器上的安装过程. 基于docker安装jenkins 下面记录了如何在云服务器上安装jenkins. 新建一个jenkins_docker文件 ...

  5. 基于Docker搭建私有镜像仓库

    通常我们在docker中拉取的镜像都是在docker hub在线存储库中获取的,这个在线存储库里的docker镜像可以由任何用户发布和使用,显然这在某些场景下是不适用的,比如某些互金的隐私项目,或者是 ...

  6. 基于Docker搭建Gitlab代码存储

    关于Docker搭建Gitlab,在19年时就已经在博客发过文章了,今天重新回顾一下. 1.拉取镜像 docker pull gitlab/gitlab-ce 默认拉取最新版本: 2.创建Gitlab ...

  7. 树莓派4b学习笔记三--基于Ubuntu搭建Docker 和portainer,基于Docker 搭建Homeassistant、EMQX

    文章目录 一.基于Ubuntu搭建Docker和portainer 1.Docker简介 2.Ubuntu20.04安装Docker-ce 3.Ubuntu20.04安装Docker图形化界面port ...

  8. 基于Docker的服务部署流程

    本次总结涉及到Docker-io.Docker-ce的安装.CentOS7镜像的制作.Docker私有仓库搭建.CentOS6.7环境下从CentOS7私有仓库拉取私有镜像.Docker容器运行.Ce ...

  9. CentOS HarBor安装与配置

    HarBor 安装与配置 Prerequisites for the target host Resource Capacity Description CPU minimal 2 CPU 4 CPU ...

最新文章

  1. dockerfile php-fpm,1、使用dockerfile制作nginx+php-fpm镜像,实现lnmp。
  2. etc/ld.so.conf的使用说明
  3. 利用Eclipse连接JDBC-(SQL Server2008)
  4. shell中获取本机ip地址
  5. json取数据怎么取_干货速递丨书名应该怎么取?
  6. 弹簧触摸开关原理图_电梯弹簧抱闸调整
  7. Java中按位运算符
  8. 何小鹏“维权”事后谈造车:心很累 曾购上千瓶白酒缓解压力
  9. n-1 java_【Java】 剑指offer(53-2) 0到n-1中缺失的数字
  10. bzoj 1911: [Apio2010]特别行动队【斜率优化dp】
  11. Android 插件化和热修复知识梳理
  12. 谷歌浏览器截图_谷歌浏览器如何截图?
  13. linux下tomcat缓存磁盘文件,Linux环境下清理Tomcat缓存
  14. IBM x3850 x5U盘启动或光驱启动不起作用
  15. 高德地图根据经纬度生成位置定位图片(发送位置)
  16. Alexa世界排名作弊分析
  17. 苹果支付IAP V1
  18. MATLAB永久常数
  19. with open和open
  20. 神经网络预测股价python talib_用机器学习来预测股价(代码+文档)——2018年iNTUtion决赛大作!...

热门文章

  1. wxWidgets:wxWebRequest 示例
  2. boost::safe_numerics模块实现数据类型下溢的测试程序
  3. boost::multiprecision模块debug_adaptor相关的测试程序
  4. boost::math::quadrature::sinh_sinh用法的测试程序
  5. GDCM:gdcm::ImageWriter的测试程序
  6. GDCM:使用Stream Image Writer伪造图像的测试程序
  7. boost::contract模块实现代码块的测试程序
  8. boost::callable_traits的is_rvalue_reference_member的测试程序
  9. VTK:PolyData之TriangleSolidColor
  10. VTK:PolyData之CellCenters