testcontainers-java icon indicating copy to clipboard operation
testcontainers-java copied to clipboard

[Bug]: TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX affects local Dockerfile

Open gaeljw opened this issue 3 years ago • 2 comments

Module

Core

Testcontainers version

1.15.2

Using the latest Testcontainers version?

No

Host OS

Linux

Host Arch

x86

Docker version

Client: Docker Engine - Community
 Version:           20.10.22
 API version:       1.41
 Go version:        go1.18.9
 Git commit:        3a2c30b
 Built:             Thu Dec 15 22:28:45 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.22
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.18.9
  Git commit:       42c8b31
  Built:            Thu Dec 15 22:26:25 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.15
  GitCommit:        5b842e528e99d4d4c1686467debf2bd4b88ecd86
 runc:
  Version:          1.1.4
  GitCommit:        v1.1.4-0-g5fd4c4d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

What happened?

Usage of TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX for image substitution affects the name given to local images as well.

For example, the following piece of code:

new ImageFromDockerfile("redis-sentinel")
  .withFileFromClasspath("Dockerfile", "Dockerfile")

Triggers the following error:

o.t.u.ImageNameSubstitutor - Using my.company.registry.net/redis-sentinel:latest as a substitute image for redis-sentinel:latest (using image substitutor: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor'))

The local name redis-sentinel is replaced by my.company.registry.net/redis-sentinel:latest which doesn't make sense at all.

Relevant log output

No response

Additional Information

No response

gaeljw avatar Jan 17 '23 14:01 gaeljw

Using new ImageFromDockerfile() (without giving a name to the image) works fine as a workaround.

gaeljw avatar Jan 17 '23 14:01 gaeljw

ImageFromDockerfile doesn't consider the TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX value but GenericContainer does it. So, when building the image on-the-fly the image is created without TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX value but when trying to run the image, the image contains TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX value.

eddumelendez avatar Feb 06 '24 22:02 eddumelendez

I have the same comportment in .net

rpallares avatar Jan 31 '25 10:01 rpallares

Is there any update on this?

marcosflobo avatar Mar 26 '25 15:03 marcosflobo