testcontainers / testcontainers/testcontainers-java
[Bug]: TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX affects local Dockerfile
オープン
まだ誰も着手していません。
type/bug
- 主要言語
- Java
- スター
- 8.7k
- フォーク
- 1.9k
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 9
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ImageFromDockerfile と複合の DefaultImageNameSubstitutor(PrefixingImageNameSubstitutor を含む)から始め、再現には redis-sentinel の例を使用します。ローカルの Dockerfile イメージ名にはプレフィックスが付かず、外部イメージのイメージ置換は引き続き機能することを確認し、その後、関連する既存のテストを実行するか、このケースのカバレッジを追加します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, java
- 領域
- testing
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 45/100