Skip to content

Commit f54a9dc

Browse files
committed
Docker in Docker fixes
1 parent c3b32ce commit f54a9dc

1 file changed

Lines changed: 21 additions & 5 deletions

File tree

.github/workflows/ci-multi-server-tests.yml

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,16 @@ jobs:
163163
options: --privileged
164164
env:
165165
DOCKER_TLS_CERTDIR: ""
166+
# Bypass the squid proxy for internal registry access.
167+
NO_PROXY: "*.networkradius.com,127.0.0.1"
168+
# Mount the host's internal CA so dind trusts
169+
# docker.internal.networkradius.com for image pulls.
170+
volumes:
171+
- /usr/local/share/ca-certificates/networkradius.com.crt:/etc/docker/certs.d/docker.internal.networkradius.com/ca.crt:ro
166172

167173
env:
168174
MULTI_SERVER_TEST_LOG: build/tests/multi-server/freeradius-multi-server/multi_server_test.log
169175
MULTI_SERVER_TEST_LISTENER_LOG: build/tests/multi-server/freeradius-listener-logs/custom_test-env-5hs-autoaccept.txt.bak
170-
DOCKER_HOST: tcp://dind:2375
171176

172177
container:
173178
image: docker.internal.networkradius.com/self-hosted
@@ -178,20 +183,31 @@ jobs:
178183
options: >-
179184
--privileged
180185
--memory-swap -1
186+
env:
187+
DOCKER_HOST: tcp://dind:2375
181188

182189
steps:
183190

184-
- name: Wait for Docker-in-Docker
191+
- name: Install Docker CLI
185192
run: |
186-
for i in $(seq 1 30); do
187-
docker info && break || sleep 1
188-
done
193+
apt-get update && apt-get install -y --no-install-recommends docker.io
189194
190195
# Checkout, but defer pulling LFS objects until we've restored the cache
191196
- uses: actions/checkout@v4
192197
with:
193198
lfs: false
194199

200+
# Authenticate to the internal registry via the dind daemon.
201+
# The host Docker daemon is logged in via the runner's
202+
# job-started hook, but dind is a separate daemon with no
203+
# auth config.
204+
- name: Login to internal Docker registry
205+
env:
206+
DOCKER_USERNAME: ${{ secrets.DOCKER_REPO_USERNAME }}
207+
DOCKER_PASSWORD: ${{ secrets.DOCKER_REPO_PASSWORD }}
208+
run: |
209+
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin https://docker.internal.networkradius.com/
210+
195211
- name: Get pre-built Docker image for self-hosted runner test
196212
shell: bash
197213
env:

0 commit comments

Comments
 (0)