我正在尝试使用 Terraform 在 Docker 中设置 elasticsearch 集群。Docker 撰写文件,其中包含容器上的一些 ulimit 定义:
ulimits:
memlock:
soft: -1
hard: -1
但是我没有找到任何如何使用Terraform执行此操作的文档。
terraform docker 提供程序当前不支持 ulimits。我创建了一个 PR 来添加支持。
同时,您可以通过克隆我的叉子来安装安装分支,运行go build && cp terraform-provider-docker $HOME/.terraform.d/plugins/
然后,您可以像这样将ulimit
块传递给容器
provider "docker" {}
resource "docker_image" "elasticsearch" {
name = "elasticsearch:latest"
}
resource "docker_container" "elasticsearch" {
image = "${docker_image.elasticsearch.latest}"
name = "elasticsearch"
ports {
internal = 9200
external = 9200
}
ulimit {
name = "memlock"
soft = 100
hard = 200
}
}