Closed black-snow closed 1 month ago
so, that's a mistake - I'm pretty busy with my job these days but will review patches, seems like something to fix (and add re: build/args).
i might even argue for calling adding build/args a fix, as it makes our api more congruent with the docker api.
I'll take a look at it.
Err... make tests
in the devcontainer leaves me with 32 failed, 42 passed, 3 warnings in 61.63s
/edit: locally they look better but you have to poetry install -E registry
- only 26 tests fails then --- there should really be a readme for contributors
i think that makes sense if you are on windows. its on my list to find a piece of terraform code that creates a windows VM in aws, so i can develop against windows, lots of challenges there. (cc @kiview)
@black-snow you should be poetry install --with dev --all-extras
if you are trying to run the full test suite (like pytest -s
)
@alexanderankin I'm on Ubuntu 24 right now. Even with all the extras 30 tests still fail.
From https://docker-py.readthedocs.io/en/stable/images.html#docker.models.images.ImageCollection.build it's not very clear what exactly the path
is either. Looking at the code I'm pretty sure this is not what I expect. So I might have to redirect this to docker-py first.
It's totally fine to docker build -t whatevs -f some/sub/dir/my.Dockerfile .
- yet the code seems to require the dockerfile to be top-level in the path
, which is treated as context.
/edit: okay dockerfile
can be a path within path
... the naming seems quite unfortunate
@black-snow do you have your docker socket visible to your user? e.g. i think by default the docker socket has these permissions:
$ ll /var/run/docker.sock
srw-rw---- 1 root docker 0 Jun 23 14:33 /var/run/docker.sock=
and then you need to be in the docker group:
$ groups | tr ' ' '\n' | cat -n | grep docker
11 docker
@alexanderankin I have Docker Desktop on this machine an it keeps the sockets in ~/docker/desktop/docker.sock
.
Never bothered to check on this machine - actually I'm not in the docker
group here. But apparently this isn't necessary with recent Docker Desktop.
/edit /var/run/docker.sock
seems to be baked in to some places
i opened #621 so that I can find this discussion easier later, never heard of docker desktop on linux before
Describe the bug
testcontainers.core.image.DockerImage
has a constructor argpath
with the following docs:But actually this doesn't seem to be true. It's rather the context, the path to the directory to build in and the dockerfile itself must be named
Dockerfile
. Especially for testing this is very unhandy. I often have several dockerfiles in the same directory. I'd expect bein able to pass acontext
and the actualpath
to the dockerfile, likeTo Reproduce
test.Dockerfile
with DockerImage(path="./test.Dockerfile", tag="test") as image: ...
Runtime environment
not relevant
P.S.: build-args would also be handy