运行 Cassandra 启动后的脚本 (Docker)
Running script after Cassandra starts (Docker)
我正在尝试 运行 Cassandra 启动后创建密钥空间的脚本。
这是我的 docker 撰写:
version: '3.6'
services:
cassandra:
container_name: cassandra
image: bitnami/cassandra:3.11.2
volumes:
- ./cassandra_data:/bitnami
- ./scripts/cassandra_init.sh:/cassandra_init.sh
environment:
- CASSANDRA_USER=${CASSANDRA_USERNAME}
- CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
- CASSANDRA_CLUSTER_NAME=Testing
- CASSANDRA_PASSWORD_SEEDER=yes
entrypoint: ["/app-entrypoint.sh"]
command: ["nami","start","--foreground","cassandra","/cassandra_init.sh"]
volumes:
cassandra_data:
["nami","start","--foreground","cassandra"]
启动 Cassandra。如果我在不添加脚本的情况下启动容器,它就可以正常工作。
但是,如果我启动包含我的脚本的容器,我会在容器启动后收到此错误:
nami ERROR Unknown command '/cassandra_init.sh'
我怎样才能做到这一点?
我想通了。
在 docker.compose 中我不得不调用脚本 init.sh
并调用它:
version: '3.6'
services:
cassandra:
container_name: cassandra
image: bitnami/cassandra:3.11.2
volumes:
- ./cassandra_data:/bitnami
- ./scripts/cassandra_init.sh:/init.sh
environment:
- CASSANDRA_USER=${CASSANDRA_USERNAME}
- CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
- CASSANDRA_CLUSTER_NAME=Testing
- CASSANDRA_PASSWORD_SEEDER=yes
entrypoint: ["/app-entrypoint.sh"]
command: ["/init.sh"]
volumes:
cassandra_data:
脚本应如下所示:
#!/bin/bash
nami start cassandra
echo "script stuff here to run after cassandra starts"
我正在尝试 运行 Cassandra 启动后创建密钥空间的脚本。
这是我的 docker 撰写:
version: '3.6'
services:
cassandra:
container_name: cassandra
image: bitnami/cassandra:3.11.2
volumes:
- ./cassandra_data:/bitnami
- ./scripts/cassandra_init.sh:/cassandra_init.sh
environment:
- CASSANDRA_USER=${CASSANDRA_USERNAME}
- CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
- CASSANDRA_CLUSTER_NAME=Testing
- CASSANDRA_PASSWORD_SEEDER=yes
entrypoint: ["/app-entrypoint.sh"]
command: ["nami","start","--foreground","cassandra","/cassandra_init.sh"]
volumes:
cassandra_data:
["nami","start","--foreground","cassandra"]
启动 Cassandra。如果我在不添加脚本的情况下启动容器,它就可以正常工作。
但是,如果我启动包含我的脚本的容器,我会在容器启动后收到此错误:
nami ERROR Unknown command '/cassandra_init.sh'
我怎样才能做到这一点?
我想通了。
在 docker.compose 中我不得不调用脚本 init.sh
并调用它:
version: '3.6'
services:
cassandra:
container_name: cassandra
image: bitnami/cassandra:3.11.2
volumes:
- ./cassandra_data:/bitnami
- ./scripts/cassandra_init.sh:/init.sh
environment:
- CASSANDRA_USER=${CASSANDRA_USERNAME}
- CASSANDRA_PASSWORD=${CASSANDRA_PASSWORD}
- CASSANDRA_CLUSTER_NAME=Testing
- CASSANDRA_PASSWORD_SEEDER=yes
entrypoint: ["/app-entrypoint.sh"]
command: ["/init.sh"]
volumes:
cassandra_data:
脚本应如下所示:
#!/bin/bash
nami start cassandra
echo "script stuff here to run after cassandra starts"