Skip to content
This repository has been archived by the owner on Aug 17, 2021. It is now read-only.

How to use docker for (almost) continuous delivery to an offline environment

License

Notifications You must be signed in to change notification settings

awesome-inc/docker-deploy-offline

Repository files navigation

GitPitch

docker-deploy-offline

How to use docker for (almost) continuous delivery to an offline environment.

Packaging

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

Deployment

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