我正在尝试启动一个 influxDB 测试容器来运行我的集成测试。
@Container
static InfluxDBContainer<?> influxDBContainer = new InfluxDBContainer<>(
DockerImageName.parse("influxdb:2.0.7")
)
.withAuthEnabled(true);
我的应用程序通过令牌进行授权,而不是通过用户/密码。 问题是如何在启动时在容器中设置所需的令牌。 可以这样做吗
.withEnv("INFLUX_TOKEN", "test-token");
?
只需使用 Docker 撰写文件并将 Spring 项目指向正确的文件,如 Spring DOCs 中所述 :
spring.docker.compose.file=../my-compose.yml
查找 InfluxDB docker 镜像文档以获取您需要的配置。最小的例子:
services:
time-series-database:
# Change to your version of choice - https://hub.docker.com/_/influxdb/tags
image: influxdb:2.7-alpine
ports:
- 127.0.0.1:8086:8086
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=john-doe
- DOCKER_INFLUXDB_INIT_PASSWORD=my-super-secret-password
- DOCKER_INFLUXDB_INIT_ORG=acme-inc
- DOCKER_INFLUXDB_INIT_BUCKET=my-bucket
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=0YVmO2e179ymcr4AZoA9FOEAIZSdDmezA8yIuLnSL4ERowgKZGKWEKqZAR64BCVn1aC4tN6Jq7aVM0ldAMZJIQ==