Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为Terraform中的Docker容器仅分配一个资源IP4地址?_Docker_Terraform - Fatal编程技术网

如何为Terraform中的Docker容器仅分配一个资源IP4地址?

如何为Terraform中的Docker容器仅分配一个资源IP4地址?,docker,terraform,Docker,Terraform,如果我在Terraform中应用这个,它会说:“无法启动容器:来自守护进程的错误响应:地址已在使用中” 我检查了一下,听者得到了IP 10.0.1.1——但为什么? 我不想给侦听器分配固定地址,因为可能有不同数量的侦听器和说话者(示例中未包括) 编辑:我试着通过ipv4_address=“10.0.1.X”给每个人一个固定的IP地址,结果成功了。但是我只想手动设置引导程序IP。如果您不希望它重用该IP地址,为什么要指定它?未设置ipv4\u address参数的默认行为应该是网络通过DHCP为容

如果我在Terraform中应用这个,它会说:“无法启动容器:来自守护进程的错误响应:地址已在使用中”

我检查了一下,听者得到了IP 10.0.1.1——但为什么? 我不想给侦听器分配固定地址,因为可能有不同数量的侦听器和说话者(示例中未包括)


编辑:我试着通过ipv4_address=“10.0.1.X”给每个人一个固定的IP地址,结果成功了。但是我只想手动设置引导程序IP。

如果您不希望它重用该IP地址,为什么要指定它?未设置
ipv4\u address
参数的默认行为应该是网络通过DHCP为容器分配IP地址。我不确定引导程序是否需要此地址。但我认为这里发生的是,DHCP首先将这个地址提供给侦听器!我怎样才能防止这种情况发生?有人知道吗?在有人找到更好的解决方案之前,我向侦听器添加了dependens\u on=[docker\u container.bootstrapper]。。。
# Setting up docker network
resource "docker_network" "private_network" {
  name       = "vaccine-net"
  attachable = true
  ipam_config {
    subnet  = "10.0.1.0/24"
    gateway = "10.0.1.254"
  }
}

# create container
resource "docker_container" "bootstrapper" {
  name  = "bootstrapper"
  image = "vaccine/bootstrapper:latest"
  networks_advanced {
    name         = docker_network.private_network.name
    ipv4_address = "10.0.1.1"
  }
}

# create Docker vaccine-listener
resource "docker_container" "vaccine-listener" {
  name  = "listener-${(count.index) + 1}"
  image = "vaccine/listener:latest"
  count = 1
  networks_advanced {
    name = docker_network.private_network.name
  }
}