you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 2 years ago* (1 child)

I've often been able to alias drun='docker compose run --rm --build' and simplify down to:

drun test

Should be able to encode all those wayward args into docker-compose.yml or Dockerfile and only use vanilla docker commands -- that's the whole point of containerization

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 2 years ago (1 child)

    The env file is the weirdest part, the container itself has a required environment variable and if I don’t pass it in command line (only have it in the test compose file) the base compose fails because it has no port.

    Most of the other commands are to merge the compose files so I can keep my base compose file clean!

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago* (last edited 2 years ago) (1 child)

    Simpler to keep everything in one compose file if you can, under a test service that doesn't build unless explicitly named

    Un-weird that env var and use the normal, boring feature of defining environment under your test service

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 1 point 2 years ago (1 child)

    The variable is already in the environment, it just doesn’t have a default because it’s required for each container

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 2 years ago (1 child)

    You can reference envs from the host in docker compose, so code it in instead of manually passing tribal knowledge in: https://stackoverflow.com/a/73826410

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 1 point 2 years ago*

    Yep, you can also set defaults, required, alternates, etc

    This discussion did help me realize that my problem was that I forgot an !override on one of my service’s options. Now it’s just merging the two compose files and setting the profile, thanks for that!

  • source
  • parent