Override CMD in docker based deploy

I have a dockerfile which has this entrypoint line in it, but no CMD:

ENTRYPOINT ["/usr/bin/tini", "--"]

In the docker-compose.yml, each of a few different services are started with something like this:

  web:
    command: bash -c "bundle exec rails s -p 3000"

In order to deploy this cluster to fly.io, I tried to use the experimental CMD feature:

[experimental]
  cmd = ["bin/rails","server","-p 3000"]

And I launch that deployment with fly deploy which shows these logs proving that the cmd isn’t being used:

[info]Preparing to run: `/usr/bin/tini --` as test_server
[info]2022/11/15 00:24:58 listening on []:22 (DNS: []:53)
[info]tini (tini version 0.18.0)
[info]Usage: tini [OPTIONS] PROGRAM -- [ARGS] | --version
[info]Execute a program under the supervision of a valid init process (tini)
[info]Command line options:
[info]  --version: Show version and exit.
[info]  -h: Show this help message and exit.
[info]  -s: Register as a process subreaper (requires Linux >= 3.4).
[info]  -p SIGNAL: Trigger SIGNAL when parent dies, e.g. "-p SIGKILL".
[info]  -v: Generate more verbose output. Repeat up to 3 times.
[info]  -w: Print a warning when processes are getting reaped.
[info]  -g: Send signals to the child's process group.
[info]  -e EXIT_CODE: Remap EXIT_CODE (from 0 to 255) to 0.
[info]  -l: Show license and exit.

What am I missing here? Is the experimental.cmd feature not yet functional, or do I have it turned off somehow?

Cheers

1 Like