使用Docker轻松在AWS上启动Superset+MySQL+Redis

参考文献中提到的文章等

    • https://github.com/amancevice/superset/blob/master/examples/mysql/docker-compose.yml

 

    • http://blog.soushi.me/entry/2017/04/07/165144

 

    • https://qiita.com/neko-neko/items/de8ea13bbad32140de87

 

    https://qiita.com/suzukihi724/items/91950450734e4c9913cf

做过的事情 (zuò guò de shì

Superset をDockerを使ってさくっと動かしてみました

https://github.com/amancevice/superset/tree/ce534c15a4752642098c4a7beffaf44233b60bc0/examples/mysql が大いに参考になりました(むしろほぼこれ)
MySQLのイメージをそのまま使うとcharsetがlatin1になり日本語などを使う場合に不都合なのでutf8mb4にしています

docker 17.03.2-ce
docker-compose 1.16.1
Superset 0.20.4
MySQL 5.7
Redis 4.0.2

前提 tí)

    • docker環境

git, docker, docker-composeが必要となります

https://qiita.com/suzukihi724/items/91950450734e4c9913cf#1-ec2%E3%81%AB%E6%9C%80%E4%BD%8E%E9%99%90%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB%E3%82%92%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97 に分かりやすく書かれていますのでそちらを御覧ください

docker-composeは https://docs.docker.com/compose/install/#install-compose から最新のバージョン番号を確認し新しいものを入れると良いと思います

1) 启动Docker

$ sudo service docker start
$ sudo chkconfig docker on

2) Docker Compose配置文件

$ git clone https://github.com/amancevice/superset.git
$ cd superset
    docker-compose.yml
version: '3'
services:
  superset:
    build:
      context: .
      args:
        SUPERSET_VERSION: 0.20.4
    image: amancevice/superset
    ports:
      - 80:8088
    depends_on:
      - mysql
      - redis
    volumes:
      - ./superset:/etc/superset
    restart: always

  mysql:
    container_name: mysql
    image: mysql:5.7
    restart: always
    ports:
      - 3306:3306
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: superset
      MYSQL_DATABASE: superset
      MYSQL_USER: superset
      MYSQL_PASSWORD: superset
    command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci

  redis:
    image: redis
    restart: always
    volumes:
      - redis:/data
volumes:
  mysql:
    external: false
  redis:
    external: false
    ポイントは mysql の commandに –collation-server=utf8_unicode_ci を付けているところです

3)超集配置.py

超集/超集配置.py

import os

MAPBOX_API_KEY = os.getenv('MAPBOX_API_KEY', '')
CACHE_CONFIG = {
    'CACHE_TYPE': 'redis',
    'CACHE_DEFAULT_TIMEOUT': 300,
    'CACHE_KEY_PREFIX': 'superset_',
    'CACHE_REDIS_HOST': 'redis',
    'CACHE_REDIS_PORT': 6379,
    'CACHE_REDIS_DB': 1,
    'CACHE_REDIS_URL': 'redis://redis:6379/1'}
SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset@mysql:3306/superset?charset=utf8mb4'
SQLALCHEMY_TRACK_MODIFICATIONS = True
SECRET_KEY = 'thisISaSECRET_1234'
ENABLE_PROXY_FIX = True
    ALBなどを使ってhttpsでアクセスする場合 ENABLE_PROXY_FIX = True がないとhttpにリダイレクトされます

4) 启动

$ docker-compose up -d

5) 创建管理账户

$ docker-compose exec superset superset-init
Username [admin]: 
User first name [admin]: 
User last name [user]: 
Email [admin@fab.org]: 
Password: 
Repeat for confirmation: 

作为管理员账户,您现在可以使用这个创建的账户进行登录。

广告
将在 10 秒后关闭
bannerAds