здравствуй читатель
пытаюсь освоить связку terraform и docker
пишу следующую конструкцию, которая по моей задаче должна бы
запустить три хеловорлда в докере
terraform plan проходит без предупреждений
[cut]
$ terraform apply
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
- create
Terraform will perform the following actions:
docker_container.foo[0] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo0»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_container.foo[1] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo1»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_container.foo[2] will be created
- resource «docker_container» «foo» {
attach = false
bridge = (known after apply)
command = (known after apply)
container_logs = (known after apply)
entrypoint = (known after apply)
env = (known after apply)
exit_code = (known after apply)
gateway = (known after apply)
hostname = (known after apply)
id = (known after apply)
image = (known after apply)
ip_address = (known after apply)
ip_prefix_length = (known after apply)
ipc_mode = (known after apply)
log_driver = (known after apply)
log_opts = (known after apply)
logs = false
must_run = true
name = «foo2»
network_data = (known after apply)
read_only = false
restart = «no»
rm = false
shm_size = (known after apply)
start = true
user = (known after apply)
labels {
- label = (known after apply)
- value = (known after apply)
}
}
docker_image.hello-world will be created
- resource «docker_image» «hello-world» {
- id = (known after apply)
- latest = (known after apply)
- name = «hello-world»
}
Plan: 4 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only ‘yes’ will be accepted to approve.
Enter a value: yes
docker_image.hello-world: Creating…
docker_image.hello-world: Creation complete after 0s [id=sha256:bf756fb1ae65adf866bd8c456593cd24beb6a0a061dedf42b26a993176745f6bhello-world]
docker_container.foo[0]: Creating…
docker_container.foo[1]: Creating…
docker_container.foo[2]: Creating…
docker_container.foo[1]: Still creating… [10s elapsed]
docker_container.foo[2]: Still creating… [10s elapsed]
Error: Container afd354e763dfb796c74fa7d4e253ecb961b7301d15d5343e7cbf9f0b094f309d exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
Error: Container 8d7638874ea4c8705cbc760f8e1f36118018fa90a50bda0df0c883cc6c0c6f55 exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
Error: Container 260404f0618ebbd4e481f0a5fe41414e2a0e8ec03aa1e2aeba7e8de4ab91e0bc exited after creation, error was:
on main.tf line 6, in resource «docker_container» «foo»:
6: resource «docker_container» «foo» {
[/cut]
$ docker -v
Docker version 19.03.11, build 42e35e61f3
$ terraform -v
Terraform v0.12.26
- provider.docker v2.7.1
запускаю пальчиками или через ansible все без проблем
[cut]
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa5fb066ee85 hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago quizzical_merkle
12b62aefd47b hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago quizzical_robinson
f92c9a5ed928 hello-world «/hello» 26 minutes ago Exited (0) 26 minutes ago relaxed_euler
[/cut]
убираю count и запускаю один экземпляр hello-world прекрасно работает из terraform.
Где и что я упустил из виду?
спасибо