late-manchester-49683
03/01/2023, 10:25 PM[docker]
run_args = [
"-p 0.0.0.0:13000:13000"
]
with a docker_environment
that is used for my tests?
As you can see I want the docker container to expose a portlate-manchester-49683
03/02/2023, 11:35 AM__defaults__({(python_test, python_tests): {"environment": "my_default_environment"}})
How can I pass docker-run-args
to the docker run command when that environment starts up?
I have tried [docker].run_args
[test].env_args
docker_environment.docker_env_vars="PANTS_DOCKER_RUN_ARGS='--name my_default_environment'"
and I’m sure a few other ways toolate-manchester-49683
03/02/2023, 1:19 PMlate-manchester-49683
03/02/2023, 3:22 PMenough-analyst-54434
03/02/2023, 3:42 PMenough-analyst-54434
03/02/2023, 3:43 PMlate-manchester-49683
03/02/2023, 3:43 PMlate-manchester-49683
03/02/2023, 3:43 PMrun_args
without luckenough-analyst-54434
03/02/2023, 3:44 PMlate-manchester-49683
03/02/2023, 3:46 PMenough-analyst-54434
03/02/2023, 3:47 PMlate-manchester-49683
03/02/2023, 3:49 PMenough-analyst-54434
03/02/2023, 3:49 PMlate-manchester-49683
03/02/2023, 3:49 PMlate-manchester-49683
03/02/2023, 3:49 PMlate-manchester-49683
03/02/2023, 3:50 PMenough-analyst-54434
03/02/2023, 3:50 PMenough-analyst-54434
03/02/2023, 3:50 PMlate-manchester-49683
03/02/2023, 3:51 PM--network host
enough-analyst-54434
03/02/2023, 3:51 PMdocker run
behind the scenes instead of a docker exec
.enough-analyst-54434
03/02/2023, 3:52 PMlate-manchester-49683
03/02/2023, 3:53 PM--name
option tbh, because the containers in the bridge network can communicate with each other using network DNSlate-manchester-49683
03/02/2023, 3:54 PMenough-analyst-54434
03/02/2023, 3:57 PMlate-manchester-49683
03/02/2023, 3:58 PMlate-manchester-49683
03/02/2023, 4:00 PMlate-manchester-49683
03/02/2023, 4:01 PM-p
option, and my use case is certainly an edge caseenough-analyst-54434
03/02/2023, 4:01 PMlate-manchester-49683
03/02/2023, 4:02 PM"PANTS_DOCKER_RUN_ARGS='-p port:port'"
late-manchester-49683
03/02/2023, 4:03 PMenough-analyst-54434
03/02/2023, 4:03 PMenough-analyst-54434
03/02/2023, 4:04 PMenough-analyst-54434
03/02/2023, 4:05 PMlate-manchester-49683
03/02/2023, 4:07 PMlate-manchester-49683
03/02/2023, 4:07 PMlate-manchester-49683
03/02/2023, 4:08 PMlate-manchester-49683
03/02/2023, 4:09 PMlate-manchester-49683
03/02/2023, 4:09 PMenough-analyst-54434
03/02/2023, 4:09 PMenough-analyst-54434
03/02/2023, 4:10 PMlate-manchester-49683
03/02/2023, 4:11 PMlate-manchester-49683
03/02/2023, 4:11 PMlate-manchester-49683
03/02/2023, 4:13 PMlate-manchester-49683
03/02/2023, 4:13 PMhappy-kitchen-89482
03/02/2023, 4:15 PM[docker]
subsystem is for "Pants building docker images for you" and not "Pants running other stuff in a container". But maybe there is reuse I'm not aware of. Thanks for digging and experimenting! Issues very welcome!late-manchester-49683
03/02/2023, 4:17 PMConsuming environments
To declare which environment they should build with, many target types (but particularly "root" targets like tests or binaries) have an environment= field: for example, python_tests(environment=..).
happy-kitchen-89482
03/02/2023, 4:20 PM[docker].run_args
is this - it's for when you pants run path/to/docker/image:target
)happy-kitchen-89482
03/02/2023, 4:21 PMlate-manchester-49683
03/02/2023, 4:23 PMlate-manchester-49683
03/02/2023, 4:24 PMhappy-kitchen-89482
03/02/2023, 4:26 PMlate-manchester-49683
03/02/2023, 4:43 PMfast-nail-55400
03/02/2023, 5:25 PMfast-nail-55400
03/02/2023, 5:26 PMdocker run
, although all of the functionality of docker run
should be available in the Docker API.fast-nail-55400
03/02/2023, 5:27 PMenough-analyst-54434
03/02/2023, 5:27 PMenough-analyst-54434
03/02/2023, 5:28 PMfast-nail-55400
03/02/2023, 5:43 PMfast-nail-55400
03/02/2023, 5:44 PMfast-nail-55400
03/02/2023, 5:44 PMenough-analyst-54434
03/02/2023, 5:55 PMenough-analyst-54434
03/02/2023, 5:56 PM