Docker|部署Superset

1.下载

①查看所有镜像:

1
docker images

②查找镜像:

1
docker search superset

③拉取superset的镜像:

选择上面的镜像,推荐(二选一,我选的第一个)

1
docker pull apache/superset
1
docker pull amancev~ice/superset

2.进入容器

①查看容器运行进程:

1
docker ps

②创建名为superset的容器

8080服务器外部端口(对外,),1000虚拟机内部端口,宿主机绝对目录:容器目录,镜像版本:(和上面那个二选一选一样的)

1
docker run -itd --name superset -p 80:8088 -v /app/superset:/root apache/superset
1
docker run -itd --name superset -p 80:8088 -v /app/superset:/root amancevice/superset

③启动容器:

1
docker start superset 

④进入新创建的容器centos_superset:

1
docker exec -it superset bash

启动后为bash-4.2#的解决办法:

1
2
3
4
cd /etc/skel/
cp .bash_profile /root/
cp .bashrc /root/
exit

停止运行容器:

1
docker stop superset

删除容器:

1
docker rm superset

3.进入容器后

①初始化数据库:

1
superset db upgrade

出现WARNING:Refusing to start due to insecure SECRET_KEY的解决办法:

切换到superset目录下:

1
cd /app/superset

更改配置:

1
sed -i 's/os.environ.get("SUPERSET_SECRET_KEY") or CHANGE_ME_SECRET_KEY/"28qEd+Vv23kFTr4hlWJValxgBLqTnjYpK44oxFBsDGPe1hr4HXZRDOYR"/' config.py

设置为中文(需重启容器):

1
sed -i 's/BABEL_DEFAULT_LOCALE = "en"/BABEL_DEFAULT_LOCALE = "zh"/g' /app/superset/config.py

此时切换回/app下再次初始化数据库即可


②初始化superset默认的角色和权限:

1
superset init

③设置FLASK环境:

1
export FLASK_APP=superset

④设置账号密码:

1
2
flask fab create-admin
接着会有其他的信息要输入 看着输入就行了

⑤重置密码:

1
superset fab reset-password --username admin --password 123456

⑥导入一些示例数据:

1
superset load_examples

若一直显示Loading [World Bank's Health Nutrition and Population Stats],可能是网络问题数据无法导入,可忽略此步ctrl+c退出

⑦启动:

1
superset run -p 8088

显示Address already in use,已经准备好可以直接使用,这时http://localhost:80即可访问,输入刚刚设置的账号密码登录