|
1 | | -FROM golang:1.25.3-alpine@sha256:aee43c3ccbf24fdffb7295693b6e33b21e01baec1b2a55acc351fde345e9ec34 |
| 1 | +FROM alpine:3.20 |
2 | 2 |
|
3 | 3 | # this is the toplevel Makefile target to be invoked |
4 | 4 | # see the contents of 'startup.sh' at the end of this file |
5 | 5 | ARG target=run-integration-test-vm |
6 | 6 | ARG test_pattern=TestMultiProcess |
7 | 7 | ARG run_number=1 |
| 8 | +ARG GO_VERSION=1.25.1 |
8 | 9 |
|
| 10 | +# Pin Docker/runc to Alpine 3.20 versions (before November 2025 CVE patches) |
| 11 | +# The procfs security checks in newer runc (CVE-2025-52881, CVE-2025-52565, |
| 12 | +# CVE-2025-31133) prevent containers from starting in nested virtualization. |
| 13 | +# Even buildkit containers fail to boot, so insecure buildx approach is not viable. |
9 | 14 | RUN apk update && apk add --no-cache \ |
10 | 15 | agetty \ |
11 | 16 | bash \ |
| 17 | + ca-certificates \ |
12 | 18 | docker \ |
13 | | - docker-compose \ |
| 19 | + docker-cli-compose \ |
14 | 20 | git \ |
15 | 21 | make \ |
16 | 22 | openrc \ |
17 | 23 | openssh \ |
18 | | - shadow |
| 24 | + shadow \ |
| 25 | + wget |
| 26 | + |
| 27 | +# Install desired Go version |
| 28 | +RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \ |
| 29 | + tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \ |
| 30 | + rm go${GO_VERSION}.linux-amd64.tar.gz && \ |
| 31 | + ln -s /usr/local/go/bin/go /usr/bin/go && \ |
| 32 | + ln -s /usr/local/go/bin/gofmt /usr/bin/gofmt && \ |
| 33 | + go version |
19 | 34 |
|
20 | 35 | RUN ssh-keygen -A && \ |
21 | 36 | echo "root:root" | chpasswd && \ |
@@ -75,6 +90,12 @@ while ! docker info >/dev/null 2>&1; do |
75 | 90 | done |
76 | 91 | echo "Docker daemon is ready" |
77 | 92 |
|
| 93 | +# Verify runc version |
| 94 | +echo "=== Docker/runc versions in VM ===" |
| 95 | +docker version |
| 96 | +runc --version |
| 97 | +echo "==================================" |
| 98 | + |
78 | 99 | if [[ -n "$target" ]]; then |
79 | 100 | echo "=== Starting test execution ===" |
80 | 101 | echo "Current directory: $(pwd)" |
|
0 commit comments