Retrieving artifacts built in docker-compose'd containers

Our projects revolve around docker-compose pretty much always, as such we followed https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-docker-socket-binding

However I’m unable to retrieve artifacts from the containers without using “tricks” like

create-something:
  script:
    docker-compose run builder bash -c 'make something.tar; cat something.tar' > outputted_to_gitlabrunner_env.tar

The stdout redir to a file is a poor solution. How do other people retrieve artifacts from docker-compose’d containers? Using (host) volumes seems like another world of hurt on its own.