docker|March 23, 2022|2 min read

How to Copy Local Docker Image to Another Host Without Repository and Load

TL;DR

docker save image:tag > image.tar, scp the tar to the target host, then docker load < image.tar. No registry needed.

How to Copy Local Docker Image to Another Host Without Repository and Load

Introduction

Consider a scenario where you are building a docker image on your local machine and want to run it on another environment or another host. How would you take your docker image there when you don’t have a repository.

Steps to Save and Transfer Docker Image

Following are the steps:

  • Save the Docker image on your machine, in an archive format
  • Do copy that archive file to another host via scp or whatever
  • Load the docker image on that host
  • Run it

Saving Docker Image

Docker provides a way to save your images in an archive bundle.

Lets assume your docker image name is: my-food-api

Command to save

docker save -o my_food_api.tar my-food-api

If your image is with some tag like latest

docker save -o my_food_api.tar my-food-api:latest

You will have a tar file with name: my_food_api.tar

Copy/Transfer Archive File

I transfer this file to another linux host using scp.

scp my_food_api.tar root@my_host:/target_folder/

Load the Docker Image from Archive File

Now, I have the tar file on that host. I need to load it as docker image.

Run following command:

docker load -i /target_folder/my_food_api.tar

Now, you have that docker image loaded, you can run it the way you want using docker run

Summary in Scripts

To summarize, I have made two scripts, just to make my life easy.

After I build the docker image,

saveAndScp.sh

# Save docker image and scp
rm my_food_api.tar

docker save -o my_food_api.tar my_food_api:latest 

scp my_food_api.tar root@your_host:/target_folder/

refresh_image.sh

# just to be sure that no old image exist before
docker image rm my_food_api:latest

docker load -i /target_folder/my_food_api.tar 

run.sh WHatever is your run command,

docker run -it -d -p 8080:13001 -v /root/config:/apps/conf --env-file /root/application.properties my_food_api:latest

Related Posts

How to connect to a running mysql service on host from a docker container on same host

How to connect to a running mysql service on host from a docker container on same host

Introduction I have a host running mysql (not on a container). I have to run an…

Docker: unauthorized: incorrect username or password.

Docker: unauthorized: incorrect username or password.

While running docker commands with some images, I started getting error: The…

Docker image for Drupal 7, and Php extension MongoDB installed.

Docker image for Drupal 7, and Php extension MongoDB installed.

You have drupal 7 image from docker hub, and want to connect tomongo db via php…

Docker Push&#58; How to push your docker image to your organization in hub.docker.com

Docker Push&#58; How to push your docker image to your organization in hub.docker.com

Tag the image, by seeing its image id, from docker images command docker tag 04d…

How to connect Php docker container with Mongo DB docker container

How to connect Php docker container with Mongo DB docker container

Goto your command terminal. Type: This will expose port: 27017 by default. You…

How To Create Admin Subdomain In Cloudflare with Nginx Proxy using Docker with SSL

How To Create Admin Subdomain In Cloudflare with Nginx Proxy using Docker with SSL

Introduction I have my main website, which I run on Lets say: . Now, there is my…

Latest Posts

Claude Code Skills — Build a Better Engineering Workflow with AI-Powered Code Reviews, Security Scans, and More

Claude Code Skills — Build a Better Engineering Workflow with AI-Powered Code Reviews, Security Scans, and More

Most developers use Claude Code like a search engine — ask a question, get an…

Building an AI Voicebot for Visitor Check-In — A Practical Guide to Handling the Messy Parts

Building an AI Voicebot for Visitor Check-In — A Practical Guide to Handling the Messy Parts

Every office lobby has the same problem: a visitor walks in, nobody’s at the…

Server Security Best Practices — Complete Hardening Guide for Production Systems

Server Security Best Practices — Complete Hardening Guide for Production Systems

Every breach post-mortem tells the same story: an unpatched service, a…

Staff Engineer Study Plan for MAANG Interviews — The Complete 12-Week Roadmap

Staff Engineer Study Plan for MAANG Interviews — The Complete 12-Week Roadmap

If you’re a Senior Engineer (L5) preparing for Staff (L6+) roles at MAANG…

XSS and CSRF Explained — The Complete Guide with Real Attack Examples and Defenses

XSS and CSRF Explained — The Complete Guide with Real Attack Examples and Defenses

XSS and CSRF have been in the OWASP Top 10 for over a decade. They’re among the…

OWASP Top 10 (2021) — Every Vulnerability Explained with Code

OWASP Top 10 (2021) — Every Vulnerability Explained with Code

The OWASP Top 10 is the industry standard for web application security risks. If…