Views:

Summary

The following procedure will allow an ECX application update to be installed on an ECX Docker Instance that does not have direct access to the internet. This procedure requires that a proxy with a Docker installation and internet access be available to download the update and provide it to the ECX Docker instance.

 

Step By Step

In order to provide offline updates to an ECX Docker deployment, a Docker proxy server is required:

 

 


Step 1: Update the ECX image on the Docker proxy.

  1. Pull new image from Docker hub:
    1. $ docker login --username catalogic --password catal0gic
    2. $ docker pull catalogicsoftware/ecx:2.7.<version>
  2. Upload to local proxy:
    1. $ docker tag catalogicsoftware/ecx:2.7.<version> localhost:5000/ecx:2.7.<version>
    2. $ docker push localhost:5000/ecx:2.7.<version>


​Step 2: Pull the new image on ECX docker host.
 

  1. $ docker pull <proxy-server-ip>:5000/ecx:2.7.<version>
​If a message appears stating “HTTP/Insecure repository: http: server gave HTTP response to HTTPS client” then you must run the following steps to bypass the requirement that the proxy be configured with an SSL certificate. If the command completes without issue, proceed to step 2.
From the Docker proxy, enter:  $ docker run -d -p 5000:5000 --name registry registry:2
From the ECX Docker host, run the proceeding steps. ECX should still be running during this procedure.  This procedure assumes you have the Ubuntu 16.04 operating system installed. If you have a different OS without the systemctl control, see the Docker documentation, https://docs.Docker.com/engine/admin/.
Access the Docker daemon configuration in the following location: /etc/systemd/system/multi-user.target.wants/docker.service
Replace the line that starts with 'ExecStart' with the following:
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry <proxy_server_ip>:5000
Then, run
$ systemctl daemon-reload
$ systemctl restart docker
 
  1. Modify the image url in ecx.yml:
    1. Point to <proxy-server-ip>:5000/ecx:2.7.<version>
  2. Restart ECX 
    1. ./ecx.sh restart
Related Products: ECX