我正在使用此处描述的图像在Docker容器中运行Cloudera套件:https://hub.docker.com/r/cloudera/quickstart/
我有以下配置:
Dockerfile
FROM cloudera/quickstart:latest
Docker Compose文件
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
当容器启动时,我希望它自动创建一个新的数据库,一个表并用数据填充它。最好的方法是什么?
答案 0 :(得分:1)
我发现的解决方案是将脚本/user/bin/docker-quickstart
的内容复制到新的Shell脚本entrypoint.sh
中。然后,我直接在entrypoint.sh
中添加了Create表和Insert语句。
此处的示例:https://github.com/mobydq/mobydq/blob/master/test/db-hive/init/entrypoint.sh
最后,我在docker compose文件而不是quickstart脚本中运行命令entrypoint.sh
。