How to use docker for (almost) continuous delivery to an offline environment.
Start a local registry, then build and push your images
docker-compose up -d registry ui
docker-compose build
docker-compose push
You can also configure another registry, that should be used as pull through cache. That enables you to pull
custom images, e.g. from your company registry. To achieve this add the environment variable REGISTRY_PROXY_REMOTEURL
to docker-compose.override.yml
:
environment:
...
REGISTRY_PROXY_REMOTEURL: https://<your-awesome-registry>
Afterwards you can just pull your images into your local registry via:
docker pull localhost:5000/<repo>/<image>:<tag>
Fire up the registry frontend on http://localhost:8080 and watch your built images.
Docker images are contained in the docker volume docker_images
.
After you have pushed all docker images to the registry, export the registry volume container
docker-compose run export
For motivational purposes wipe everything we just created, i.e.
docker-compose down
docker volume rm dockerdeployoffline_docker_images
docker rmi localhost:5000/mycompany/myapp:latest
At the customer site, create & import the registry volume container
docker-compose run import
Finally, start up the registry and you're good to go
docker-compose up -d registry ui