terraform-provider-docker
terraform-provider-docker copied to clipboard
No static IP address is set (via networks_advanced).
trafficstars
Hi, unable to set static ip for docker container. the setting is ignored and the first available IP from the pool is set.
terraform -v
Terraform v1.3.9 on linux_amd64
+ provider registry.terraform.io/kreuzwerker/docker v3.0.1
Terraform Test file
terraform {
required_providers {
docker = {
source = "kreuzwerker/docker"
version = "3.0.1"
}
}
required_version = ">= 1.3.1"
}
variable "ip" {}
variable "ssh_private_key" {}
provider "docker" {
host = "ssh://root@${var.ip}:22"
ssh_opts = ["-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=/dev/null", "-q", "-i", "${var.ssh_private_key}"]
}
resource "docker_image" "mosquitto" {
name = "eclipse-mosquitto:2.0.15"
}
resource "docker_network" "n10g" {
name = "n10g"
//attachable = true
//check_duplicate = true
//driver = "ipvlan"
driver = "macvlan"
ipam_config {
subnet = "192.168.0.0/16"
gateway = "192.168.11.1"
}
options = {
parent = "ens160"
}
}
resource "docker_container" "mqtt" {
attach = false
name = "mqtt"
image = docker_image.mosquitto.image_id
hostname = "mqtt.home.lan"
network_mode = docker_network.n10g.name
networks_advanced {
name = docker_network.n10g.name
ipv4_address = "192.168.10.70"
}
publish_all_ports = true
restart = "always"
}
output "out_ip" {
value = docker_container.mqtt.network_data[0].ip_address
}
output "desired_ip"{
value = "192.168.10.70"
}
Trace log terraform apply:
"Id": "529e63755cd661ec5ecf412998a1a587ad6c33167e1634a35cad639b18f7b840",
"Created": "2023-03-06T17:44:50.18672656Z",
...
"NetworkSettings": {
...
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"n10g": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"529e63755cd6",
"mqtt.home.lan"
],
"NetworkID": "9be27d7b2584fbd46a0a0d5ab4df1217258368732624ae3bb3046aeaf99ccfb3",
"EndpointID": "cf8bf78034ab37c4c073579688f75ea80f2e3e6afb0460b973333a6f1c6a7f44",
"Gateway": "192.168.11.1",
**"IPAddress": "192.168.0.1",**
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:c0:a8:00:01",
"DriverOpts": null
}
}
}
Any update? I'm facing this issue:
Error: Unable to start container: Error response from daemon: failed to create the macvlan port: operation not supported