Skip to main content

how to upload a new image in docker

Docker makes it easy to develop and deploy custom and consistent environments that include specific applications and dependencies.
Docker calls these compilations Images. Docker images can be hosted and retrieved from private locations or from the official repository, Docker Hub.

Create a Docker ImagePermalink

Create a new local image based on the latest Ubuntu Docker image. Although the repository already has a number of LAMP stack images available, we create one in this guide as an example of the process.
  1. Pull the latest Ubuntu image:
    docker pull ubuntu
    
  2. Create the new container, such that we can add our LAMP stack to Ubuntu. This example names the container lamp-server-template and adds the bash option to the docker command to enter the container in order to continue making changes:
    docker run --name lamp-server-template -it ubuntu:latest bash
    
  3. Install the lamp-server metapackage inside the container:
    apt-get install lamp-server^
    
    This upgrade and installation will take longer than it would if you were working on a standard server. During the installation of the LAMP stack, you will be prompted to create a MySQL root user password. When the installation completes, exit the container:
    exit
    
  4. Use docker ps -a to list all of the available containers:

Commit Changes to the ImagePermalink

To commit changes to the image, we must first have the container ID. As with the example above, the docker ps -a command lists the ID as d09dd0f24b58. We’re going to name our new image lamp-server-template and commit the changes with the command:
docker commit d09dd0f24b58 lamp-server-template
If you run the docker images command, you’ll see the new image, lamp-server-template listed.

Tag Your Image for Version ControlPermalink

When you pull down an image from Docker Hub, the Status line includes the image tag as shown here:
Status: Downloaded newer image for ubuntu:latest
Docker tags are an easy way for you to know what version or release you are working with. This is especially useful for creating new images from a base image. For example, if you have a Ubuntu image you use as a base to create different images, Docker tags help you track the differences:
lamp-server-template:v1.8.10.2017
lamp-server-template:v2.8.10.2017
lamp-server-template:v3.8.10.2017
  1. Create image tags with a docker commit. Using the example tags above, tag the new image with a version number and date:
    docker commit d09dd0f24b58 lamp-server-template:v1.8.10.2017
    
  2. Run docker images to see the new image created along with the associated tag:

Push Your Image to Docker HubPermalink

  1. Before pushing the image to Docker Hub, add a description, your full name (FULL NAME in the example here), and Docker Hub username (USERNAME) in the docker commit:
    docker commit -m "Added LAMP Server" -a "FULL NAME" d09dd0f24b58 USERNAME/lamp-server-template:v1.8.10.2017
    
  2. Once this is fully tagged, log in and push it to Docker Hub:
    docker login
    
  3. You will be prompted for your Docker Hub credentials. When authentication succeeds, you will see Login succeeded. Now, you can push the image to the Hub with the command:
    docker push lamp-server-template:v1.8.10.2017
    
  4. Open a browser, log in to your Docker Hub account, and go your main repository. You will see the new image listed. Click on the image and then click on the Tags tab to see the added tag:
And that is all there is to creating a new image, changing the image, committing your changes, tagging the image, and pushing the complete image to Docker Hub, all handled directly from your Linode.

More Information

You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.

Comments

Popular posts from this blog

Integrating Tensor flow API into ASP.net Web applications for Image detection

Introduction Tensor flow provides advanced Machine Learning API. For the example here we will provide a solution for the Image recognition. The same can be applied to other use cases such as Text recognition or any other data set that needs to solve the problems of AI and Machine Learning such as: Predictive Analytics Cognitive Processes and its Automation e.g. NLP Virtual Agents (Bot’s) Camera Image detection and processing e.g. Industrial Robotics and Drones Text Knowledge Analytics Application Development Steps In the first step we create an ASP.NET application for connecting the camera feed or input data. In the next step Install Tensor flow as per instructions on the website –>  Click here To begin using Tensor flow we need to decide on the model to use for processing input data – There is an option to use either ready-made models or develop on own depending on the problem at hand. For simplicity we will use ready-made model called a deep  convolut...

PyTorch vs TensorFlow — spotting the difference

In this post I want to explore some of the key similarities and differences between two popular deep learning frameworks: PyTorch and TensorFlow. Why those two and not the others? There are many deep learning frameworks and many of them are viable tools, I chose those two just because I was interested in comparing them specifically. Origins TensorFlow is developed by Google Brain and actively used at Google both for research and production needs. Its closed-source predecessor is called DistBelief. PyTorch is a cousin of lua-based Torch framework which is actively used at Facebook. However, PyTorch is not a simple set of wrappers to support popular language, it was rewritten and tailored to be fast and feel native. The best way to compare two frameworks is to code something up in both of them. I’ve written a companion jupyter notebook for this post and you can  get it here . All code will be provided in the post too. First, let’s code a simple approximator for t...

TensorFlow Serving Tutorial for Beginners

TensorFlow Serving is a flexible, high-performance serving system for machine learning models, designed for production environments. TensorFlow Serving makes it easy to deploy new algorithms and experiments, while keeping the same server architecture and APIs. Basic Serving Tutorial See the  basic tutorial  on the TensorFlow Serving site to learn how to export a trained TensorFlow model and build a server to serve the exported model. Advanced Serving Tutorial See the  advanced tutorial  on the TensorFlow Serving site to learn how to build a server that dynamically discovers and serves new versions of a trained TensorFlow model. Serving Inception Model Tutorial See the  serving inception tutorial  on the TensorFlow Serving site to learn how to serve the inception model with TensorFlow Serving and Kubernetes.