今天解决了这个问题。构建映像,该映像将
docker-entrypoint.sh在修改之前附加一个修改过的默认Cassandra
exec "$@"
for f in docker-entrypoint-initdb.d/*; do case "$f" in *.sh) echo "$0: running $f"; . "$f" ;; *.cql) echo "$0: running $f" && until cqlsh -f "$f"; do >&2 echo "Cassandra is unavailable - sleeping"; sleep 2; done & ;; *) echo "$0: ignoring $f" ;; esac echodone
将所需的* .cql放在中的图像中
docker-entrypoint-initdb.d/。
映像将启动,启动cassandra,然后重试插入数据库,除非成功执行。只要确保您的脚本是
IF NOT EXISTS否则脚本将无限期运行。



