Hi guys, I am new to drone and CI in general.
I am running drone on a private air-gapped server and have setup a private docker registry. Authentication for the private registry has been setup via DRONE_DOCKER_CONFIG in the runner. Both drone and drone-runner are running in docker containers. Verified that runner is connected to server.
The .drone.yml file looks like this:
kind: pipeline type: docker name: default steps: - name: build image: registry.domain.com/test/python:3 commands: - echo "Hello world!" - python app.py
App.py is essential print(“Hello”)
The problem is that whenever I attempt to build it fails because drone is always attempting to connect to the docker hub public repository.
I have tested that the image referenced in .drone.yml is available in my private repository by pulling it from outside of the drone docker container.
I checked that my private registry address is pingable from both the drone server and runner containers. by manually checking it via
docker exec -ti drone ash and then ping registry.domain.com. Root CA certificates have been installed in both containers.
I have also attempted to add the docker login config.json file as a secret with Allow Pull Request Checked but to no avail. Drone is not even attempting to connect to my private registry so authentication would an issue if it was able to make contact. I have attempted various combinations of adding the authentication info without mounting config.json on the runner with/without pull requests etc. No success.
For the docker host itself, I have set NO_PROXY for private registry domain but no success.
The primary issues is that drone is only attempting to connect to the public docker hub registry and not the private registry as per documentation at https://docs.drone.io/pipeline/docker/syntax/images/#pulling-private-images
What am I missing? Appreciate your help.