Transport Docker Image on a DVD?

Hi,

for our solution we have to install several tools (e.g. SQL Server) on a Windows Server 2016/2019 System. Some of the systems do not have a unrestricted internet access. I want to do the following:

  1. Create a Docker Image locally.
  2. Take this Docker Image and put into our installation package.
  3. Running the installation package (1.) checks if a Docker Engine is installed and (2.) puts the Docker Image into the Docker Engine.

Is this possible?
Or is the following approach better:

  1. Into the installation package I put my Docker File and the required files.
  2. Our installation package runs a script or something that invokes “Docker Run”.
  3. The Docker Image is created the first time at the customer.

Thanks,
Christian

Why not use a local docker image repo?

Docker has it’s own options, and there are also 3rd party alternatives.

https://www.docker.com/blog/how-to-use-your-own-registry/

Hi paalders,
thanks for yor help.
That sounds interesting. If I understand that correctly, we should create our own local repository on each customer machine, push our docker image into that newly created local repository.
If a container has to be started, the Docker Engine is loading the Image from the local repository instead the public one.
And how can I transport the Docker Image? Or is it necessary, that the DockerFile has to be delivered to the customer?
Thanks,
Christian

To get more info… what is your setup like?

  • Are the Windows servers all in the same network? If not, I understand that you don’t have options for unrestricted internet. But what about a VPN?
  • Do you only use Docker for initial installation of software modules or also for updating?

I wouldn’t deploy an image repository on each of the Windows nodes. If the servers are sharing a local network I would have 1 image repo in that internal network where you are able to push to from a location (developer’s workstation, build environment, etc.). From that same central, but local, location you’d be able to pull images from your Windows nodes.

To answer your question: Yes, you can put a Docker image on a DVD. Just docker save the image, burn it to the DVD and then docker load the image on each computer.

For example: save it with

docker save <image_name> | gzip > <image_name>.tgz

Burn the .tgz file to the DVD. Then to load it on another computer use:

docker load < <image_name>.tgz

That will load the image so that you can run it with docker run

1 Like

Hi John,
thank you very much for yours help :upside_down_face:
Best regards,
Christian

Hi paalders,
thanks for your help.
Some of our customers are banks or from the public sector.
At the moment only one component will run in a Docker container. The primary component is running as a Windows Service.
The Docker container certainly must be updated. My idea was, if we need to give the customers a new Docker image that contains some new features or bug fixes, he will get a new *.TAR file, load this into the Docker engine, starts the system and the a new Docker container is created that is based on the new Docker image.
What do you think about that?
Thanks,
Christian