# Deploying offline Docker Images on devices within private networks?

**URL:** <https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084>\
**Category:** General Discussions\
**Created:** [July 4, 2022, 10:01am UTC](https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084 "2022-07-04T10:01:20Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![shandesai](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@shandesai](https://hub.mender.io/u/shandesai)\
**Post date:** [July 4, 2022, 10:01am UTC](https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084/1 "2022-07-04T10:01:20Z")

</div>

## Usage Scenario

I am currently evaluating mender on a set of Industrial PCs which are of the following specs:

- Architecture: `x86_64`
- OS: `Ubuntu 20.04 LTS` (Debian family)

### Trials

I went through the documentation for [Deploy a container update | Mender documentation](https://docs.mender.io/3.3/get-started/deploy-a-container-update) and found out that the `.mender` artifact creates a meta-data where the it tells the client where it should download the respective docker images from (most often `docker.io` Docker Hub)

However in certain cases the devices are completely off the Internet and they might need to have container updates which is possible only by transferring tarballs of the images and subsequently loaded using `docker load` command.

Is there some functionality where on can upload such Container Image Tarballs via Mender Hosted and the update module will unload the tar ball on the target machine accordingly?

---

<div class="post-metadata">

**Author:** ![TheYoctoJester](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/theyoctojester/32/1444_2.png) [@TheYoctoJester](https://hub.mender.io/u/TheYoctoJester)\
**Post date:** [July 4, 2022, 10:13am UTC](https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084/2 "2022-07-04T10:13:23Z")

</div>

Hi @shandesai,

this is a scenario that can be solved by [Update modules](https://docs.mender.io/artifact-creation/create-a-custom-update-module). You can use them to transport whatever payload you like, and load them whatever way you want to. The docker example that you referred to is just the most “basic” way of doing it. So your strategy should be:

- create the container by either some engine like `kaniko`, or `docker export`
- pack it up in a custom update module
- deploy that through Hosted Mender
- use the custom update module logic to kick off `docker load`

As this is a problem that I think is relevant not only to you, we would welcome a corresponding contribution to the public [update modules](https://github.com/mendersoftware/mender-update-modules) repository.

Greetz,  
Josef

---

<div class="post-metadata">

**Author:** ![shandesai](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@shandesai](https://hub.mender.io/u/shandesai)\
**Post date:** [July 4, 2022, 10:24am UTC](https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084/3 "2022-07-04T10:24:49Z")

</div>

Thanks Josef,

I think I can try putting some effort into creating such an Update Module for Mender and get a contribution committed. Let me workout some details as to how a potential update workflow would look like and I will open an Issue on the repository for the team to discuss the potential benefits and pitfalls.

---

<div class="post-metadata">

**Author:** ![TheYoctoJester](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/theyoctojester/32/1444_2.png) [@TheYoctoJester](https://hub.mender.io/u/TheYoctoJester)\
**Post date:** [July 4, 2022, 10:27am UTC](https://hub.mender.io/t/deploying-offline-docker-images-on-devices-within-private-networks/5084/4 "2022-07-04T10:27:40Z")

</div>

Hi @shandesai

I actually think its not that complicated, probably it needs only a handful of lines 🙂 Just let me know if you run into any problems.

Greetz,  
Josef
