Инициализация контейнера док-станции Cloudera Hive с данными - PullRequest
0 голосов
/ 04 ноября 2018

Я запускаю комплект Cloudera в Docker Container, используя изображение, описанное здесь: https://hub.docker.com/r/cloudera/quickstart/

У меня есть следующая конфигурация:

Dockerfile

FROM cloudera/quickstart:latest

Docker Compose file

version: '3.1'
services:

  db-hive:
    container_name: mobydq-test-db-hive
    image: mobydq-test-db-hive
    restart: always
    build:
      context: .
      dockerfile: ./db-hive/Dockerfile
    expose:
      - 10000
    networks:
      - default
    hostname: quickstart.cloudera
    privileged: true
    tty: true
    command: ["/usr/bin/docker-quickstart"]

networks:
  default:
    external:
      name: mobydq-network

Когда контейнер запустится, я бы хотел, чтобы он автоматически создавал новую базу данных, таблицу и заполнял ее данными. Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 29 ноября 2018

Решение, которое я нашел, состоит в том, чтобы скопировать содержимое сценария /user/bin/docker-quickstart в новый сценарий оболочки entrypoint.sh. Затем я добавил операторы Создать таблицу и Вставить непосредственно в entrypoint.sh.

Пример здесь: https://github.com/mobydq/mobydq/blob/master/test/db-hive/init/entrypoint.sh

Наконец, я запускаю команду entrypoint.sh в файле компоновки Docker вместо сценария быстрого запуска.

...