tilt-dev / tilt-dev/tilt

Tilt not respecting Docker registry mirrors

Open
#6,541 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
10.1k
Forks
413
Avg merge
1d 10h
Merged PRs (30d)
6

Description

Expected Behavior

I am using a VPN which blocks access to docker.io. When I am using Docker Desktop and I have set a custom registry mirror (we'll call it my-mirror), I expect tiltdev/restart-helper to pull from my-mirror when using tilt up / tilt ci.

Current Behavior

I get an error during the deployment phase that docker.io/tiltdev/restart-helper:<version> could not be pulled. It appears to be a hard-coded reference somewhere as any image references in my local project use my-mirror.

Steps to Reproduce

For sake of example, let's say we have a policy that requires a VPN always on blocking docker.io. Because of this, we have set up a proxy for images at https://my.proxy.

  1. Limit access to docker.io such that you can only pull images from https://my.proxy, this replicates the VPN in our setup. Easiest way is probably to temporarily modify /etc/hosts or something.
  2. Create a basic project that uses Tilt to deploy a k8s service. This can be as simple as a Spring Boot demo API controller. Your build build Dockerfile should pull any dependent images from https://my.proxy rather than docker.io, same for any dependent files created by tilt init.
  3. Run tilt up
  4. Examine the output. The compile step completes, but the deploy step fails. There will be an image pull error for docker.io/tiltdev/restart-helper:<version>, I will attempt to reproduce with my colleague and get better logs.
Context
tilt doctor Output
Tilt: v0.34.1, built 2025-04-04
System: darwin-arm64
---
Docker
- Host: unix:///Users/my-user/.docker/run/docker.sock
- Server Version: 28.0.4
- API Version: 1.48
- Builder: 2
- Compose Version: v2.34.0-desktop.1
---
Kubernetes
- Env: docker-desktop
- Context: docker-desktop
- Cluster Name: docker-desktop
- Namespace: my-namespace
- Container Runtime: docker
- Version: v1.31.4
- Cluster Local Registry: none
---
Thanks for seeing the Tilt Doctor!
Please send the info above when filing bug reports. 💗
About Your Use Case

Due to corporate VPN limitations, we must be able to access all tilt containers through a proxy. I doubt our organization is the first to encounter this, so it is likely a win for everyone. If it matters, the registry mirrors are being configured through the Docker Desktop UI rather than command line.

We only use Tilt for local development so apologies if there is a greater context that I am missing.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the deployment failure with tilt up or tilt ci while Docker Desktop uses my-mirror, then trace how tilt init and the deployment phase reference tiltdev/restart-helper. Done means the restart-helper image is pulled through the configured registry mirror instead of directly from docker.io.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, go, kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.