deref / exo

A process manager & log viewer for dev

Home Page:https://exo.deref.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] Manifest files with multiple containers fail to run

BenElgar opened this issue · comments

If one attempts to start a manifest file that has more than one container attached, only one of the containers will successfully start:
exo.hcl:

exo = "0.1"
components {
  container "t0" {
    image = "bash"
    command  = "sleep infinity"
  }
  container "t1" {
    image = "bash"
    command  = "sleep infinity"
  }
  container "t2" {
    image = "bash"
    command  = "sleep infinity"
  }
}
❯ dexo run
GUI available at: http://localhost:44643/#/workspaces/ebe2t9ssc4z470eg5t9r0hj0s0
Job URL: http://localhost:44643/#/jobs/jgvwcfydhzxrh3snhe6ad4qemg
applying
⨯ ├─ adding t0  removing existing container {"" '\x00' "" ""}: Error response from daemon: removal of container c9f3ec5543175e2ce375af069daea0de0647c3e68110ddb251f8ab7aadf433a6 is already in progress
✓ ├─ adding t1
⨯ └─ adding t2  removing existing container {"" '\x00' "" ""}: Error response from daemon: removal of container c9f3ec5543175e2ce375af069daea0de0647c3e68110ddb251f8ab7aadf433a6 is already in progress

I added a repro of the problem to the test suite: #532

This can be worked around by adding a container name explicitly. This works fine:

exo = "0.1"
components {
  container "t0" {
    image = "bash"
    command = "sleep infinity"
    container_name = "t0"
  }
  container "t1" {
    image = "bash"
    command = "sleep infinity"
    container_name = "t1"
  }
}