User Container Images¶
General Principles¶
The registry variables are read by the reemo-provision Ansible role.
REGISTRY_URL: registry URL (e.g., registry.reemo.io)
REGISTRY_ENV: the prefix allowing the Ansible role to build image names in the format **REGISTRY_ENV**chromium
REGISTRY_USERNAME: username provided by Reemo support
REGISTRY_PASSWORD: password provided by Reemo support
Example resulting image: registry.reemo.io/reemosbchromium:latest
Tip
Check disk space on each node. Image loading may require several GB of free space.
Online Mode¶
All machines connect directly to the Reemo registry.
Requirements¶
HTTPS access open to registry.reemo.io:443.
Credentials provided by Reemo support.
Minimal Inventory¶
all:
vars:
REGISTRY_URL: "registry.reemo.io"
REGISTRY_ENV: "reemosb"
REGISTRY_USERNAME: "user"
REGISTRY_PASSWORD: "password"
Quick Checks¶
Verify the registry login (from a node):
docker login registry.reemo.io
Verify the prefix being used (example):
docker pull registry.reemo.io/reemosbchromium:latest
Confirm the image is present locally:
docker image ls
Proxy Mode¶
Nodes access the registry through an HTTP/HTTPS proxy.
Use the same inventory configuration as in Online mode.
To declare the proxy in the Docker service:
Add the following line to the [Service] section of
/usr/lib/systemd/system/docker.service
EnvironmentFile=/etc/default/docker
Create the file
/etc/default/dockerand fill in the following information:
http_proxy="http://< Proxy server IP >:< Proxy service port >"
https_proxy="http://< Proxy server IP >:< Proxy service port >"
On the proxy, allow access to the following URLs:
registry.reemo.io
registry-auth.reemo.io
Offline Mode¶
A bridge machine with Internet access retrieves the images, then you preload them elsewhere (nodes or private registry).
Scenario A: Distributed Tarballs¶
On the bridge machine:
docker login registry.reemo.io
docker pull registry.reemo.io/reemosbchrome:latest
docker save registry.reemo.io/reemosbchrome:latest > /tmp/reemosbchrome_latest.tar
Transfer the .tar files to the nodes, then load them on the node:
docker load < reemosbchrome_latest.tar
Scenario B: Intermediate Private Registry¶
The bridge machine pulls from registry.reemo.io then pushes to your private registry.
On the nodes, configure:
REGISTRY_URL: "<your_private_registry>"
REGISTRY_ENV: "<your_namespace>"
REGISTRY_USERNAME: "<user_if_required>"
REGISTRY_PASSWORD: "<password_if_required>"
You can then run the installation in Online mode against your private registry.