如何将 ulimit 参数传递给带有 Terraform 的 Docker



我正在尝试使用 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
  }
}

最新更新