-
-
Notifications
You must be signed in to change notification settings - Fork 600
Description
Testcontainers version
v0.30.0
Using the latest Testcontainers version?
Yes
Host OS
macOS Sonoma
Host arch
x86
Go version
1.22.2
Docker version
Client:
Cloud integration: v1.0.35+desktop.13
Version: 26.0.0
API version: 1.45
Go version: go1.21.8
Git commit: 2ae903e
Built: Wed Mar 20 15:14:46 2024
OS/Arch: darwin/amd64
Context: desktop-linux
Server: Docker Desktop 4.29.0 (145265)
Engine:
Version: 26.0.0
API version: 1.45 (minimum version 1.24)
Go version: go1.21.8
Git commit: 8b79278
Built: Wed Mar 20 15:18:01 2024
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.28
GitCommit: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e94
docker-init:
Version: 0.19.0
GitCommit: de40ad0Docker info
Client:
Version: 26.0.0
Context: desktop-linux
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.13.1-desktop.1
Path: /Users/wilsouza/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.26.1-desktop.1
Path: /Users/wilsouza/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container. (Docker Inc.)
Version: 0.0.27
Path: /Users/wilsouza/.docker/cli-plugins/docker-debug
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: /Users/wilsouza/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.23
Path: /Users/wilsouza/.docker/cli-plugins/docker-extension
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.4
Path: /Users/wilsouza/.docker/cli-plugins/docker-feedback
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.1.0
Path: /Users/wilsouza/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/wilsouza/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.6.3
Path: /Users/wilsouza/.docker/cli-plugins/docker-scout
Server:
Containers: 3
Running: 2
Paused: 0
Stopped: 1
Images: 28
Server Version: 26.0.0
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: runc io.containerd.runc.v2
Default Runtime: runc
Init Binary: docker-init
containerd version: ae07eda36dd25f8a1b98dfbf587313b99c0190bb
runc version: v1.1.12-0-g51d5e94
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.6.22-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 7.656GiB
Name: docker-desktop
ID: f32c2164-7080-4ec1-abb5-c52240ed18f8
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/wilsouza/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: falseWhat happened?
I'm experiencing an issue when trying to map the Redis container port to the host's port 6379 using the ContainerRequest structure. The following code should work, but it doesn't. The docker container is not mapping the container port to host port. I suspect the problem might be related to issue #930.
req := testcontainers.ContainerRequest{
Image: "redis:6.2",
Name: "redis-int-test",
ExposedPorts: []string{"6379/tcp"},
WaitingFor: wait.ForLog("Ready to accept connections"),
HostConfigModifier: func(hc *container.HostConfig) {
hc.PortBindings = map[nat.Port][]nat.PortBinding{
"6379/tcp": {{HostIP: "0.0.0.0", HostPort: "6379"}},
}
},
}The docker containers running after strat testcontainer:
❯ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
386c752b17c8 redis:6.2 "docker-entrypoint.s…" 4 seconds ago Up 4 seconds 0.0.0.0:54391->6379/tcp redis-int-test
648675722afc testcontainers/ryuk:0.7.0 "/bin/ryuk" 2 hours ago Up 2 hours 0.0.0.0:53423->8080/tcp reaper_e7c43c10131d7d8692d494533688d9998996d564c4a01a9bdcd9e59aaf587daeIf I can declare the exposedPorts with the protocol, should I be able to declare portBinding for it as well?
Additionally, I've noticed this piece of code that could be fixed by comparing only the port of each exposed port, instead of the full port/protocol string. Is there any issue with addressing the solution in this way?
I'm willing to open a PR to address this issue if needed. Please let me know if I can proceed with this.
Relevant log output
No response
Additional information
No response