• Kache
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    3 months ago

    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

    • Gamma@beehaw.orgOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      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!

      • Kache
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        3 months ago

        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

        • Gamma@beehaw.orgOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

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

            • Gamma@beehaw.orgOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              3 months 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!