Flux7 Flux7
  • Digital Innovation
      • Digital Innovation
      Enable Software Innovation
      • CI/CD: Accelerate Deployments Through Pipelines
      • Containers Infrastructure:Improve Agility with Containers
      • Build:Custom Toolchain Deployment
      • Microservices: Speed Application Development
      • HPC:Product Design & Simulation
      • Renovate:Application Migration to the Cloud
      • Serverless:Innovate at the Speed of the Market
      Scale Enterprise DevOps
      • AWS DevOps Consulting:  Refactor Large Quantities of Apps to AWS
      • Cloud-Native Architectures: Accelerate Business with Cloud-Native Services
  • Operational Excellence
      • Services
      Cloud Implementation Services
      • Cloud Migration Services: Streamline Your Cloud Migration
      • Build Cloud Foundations: Accelerate Adoption with Strong Cloud Foundations
      • ISV Workloads on Cloud: Defined Solutions and Proven IP
      • High-Performance Computing Services: Exploit Cloud Elasticity and Scalability
      Enforce Security and Compliance
      • Automate Compliance: Meet Corporate and Legal Requirements
      • Web Application Firewall:Protect Vital Data and Functions

      Our landing zones on AWS emphasizes training, documentation, and resources to help teams new to AWS get the skills they need for long-term business agility.

      Gain a Landing Zone That Fits Your Needs Today

  • Industries
      • Industries
       
      • Energy:Cloud Solutions for the Energy Industry
      • Finance: Secure Infrastructure for Improved Customer Service and Analytics
      • Healthcare & Life Sciences: Meet Security & Compliance Requirements
      • Hospitality: Increase Customer Acquisition
       
      • Manufacturing: Innovation with Digital Transformation
      • Retail:Grow Customer Loyalty and Lifetime Value
      • Semiconductor: Legacy Modernization Services
      • Software:Grow Developer Agility and Application Reliability
       

      Read our industry success stories and the benefits our customers saw

      Read the Case Studies

  • Tech
      • Tech
      Flux7 Tech
      • DevOps Toolchain: Reduce DevOps Challenges
      • Amazon Web Services: Reduce Complexities and Risks in AWS Architectures
      • AWS Database Services: Design and Implementation of Infrastructure for Cloud-Based Databases
      Configuration
      • Cloud Configuration: Gain Greater Consistency, Repeatability & Agility
      • HashiCorp Terraform: Defining Infrastructure as Code 
      • AWS CloudFormation: Reduce Maintenance and Improve Security
      Containers
      • Container Infrastructure: Improve Agility with Containers
      • Docker: Build, Ship and Run Applications Anywhere
      • Kubernetes: Container Consulting Services
      • Red Hat OpenShift: Speed Code Delivery

      Rapidly adopt technology to achieve Infrastructure as Code and continuous delivery and support of applications and workloads.

      Create Your DevOps Toolchain

  • Resources
      • Resources
      Research & Reports
      • Analyst Insights & Reports
      • Blog
      • Case Studies
      • White Papers
      News & Events
      • Events Calendar
      • Newsroom
      • Press Releases
      Flux7 Academy
      • Tech Tutorials

      Read about what we do, how we do it and how our customer's benefit from our solutions.

      Read and Download Our Case Studies

  • About
      • About Flux7
      Get To Know Us
      • About Flux7
      • Awards & Recognitions
      • Meet Our Team
      Work With Us
      • Careers
      • Our Culture
      Partner With Us
      • Flux7 partners with technology vendors who deliver solutions to help our customers address scalability, security, reduce the cost of infrastructure delivery and improve speed to market.

      Welcome to Flux7! Get to know us a bit better and discover what makes us different than other DevOps Consultants.

      Discover What Makes Us Different

  • Contact us
An NTT DATA Company

Login Contact us

Docker Tutorial Series, Part 7: Ultimate Guide for Docker APIs

Array ( [0] => WP_Term Object ( [term_id] => 90 [name] => Blog [slug] => blog [term_group] => 0 [term_taxonomy_id] => 90 [taxonomy] => category [description] => [parent] => 0 [count] => 635 [filter] => raw ) )

Docker Tutorial Series, Part 7: Ultimate Guide for Docker APIs

By Flux7 Labs
June 19, 2014

Throughout our Docker Tutorial Series, we have discussed many significant Docker components and commands. In today’s series installment, we dig deeper into Docker and uncover Docker APIs.

The first item worth noting is that Docker provides the following APIs, making it easier to use. Those APIs also come in four flavors:

Docker Registry API

Docker Hub API

Docker OAuth API

Docker Remote API

Specifically to this post, let’s discuss Docker Registry API and Docker Hub API.

Docker Registry API

Docker Registry API is a REST API for the Docker Registry, which eases the storage of images and repositories. The API does not have access to user accounts or its authorization. Read part four of the Docker Tutorial Series to learn more about registry types.

Extract image layer:

GET /v1/images/(image_id)/layer

get-image-layer

Insert image layer:

PUT /v1/images/(image_id)/layer

put-image-layer-with-error

Retrieve an image:

GET /v1/images/(image_id)/json

Retrieve roots of an image:

GET /v1/images/(image_id)/ancestry

Obtain all tags or specific tag of a repository:

GET /v1/repositories/(namespace)/(repository)/tags

docker-get-all-tags

or

GET /v1/repositories/(namespace)/(repository)/tags/(tag*)

docker-get-all-tags

Delete a tag:

DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)

delete-a-tag

Status check of registry:

GET /v1/_ping

registry-ping

Docker Hub API

Docker Hub API is a simple REST API for Docker Hub. Once again, please refer to part four of this series to learn more about Docker Hub. Docker Hub controls user accounts, authentication by managing checksums, and public namespaces. This API also allows operations pertaining to user and library repositories.

First, let’s explore commands that are specific to library repositories (requires admin access):

1. Create a new repository – A new library repository can be created using the command

PUT /v1/repositories/(repo_name)/

where repo_name refers to the name of the new repository

2. Delete existing repository – The following command is used to delete an existing repository:

DELETE /v1/repositories/(repo_name)/

where repo_name indicates the name of the library repository to be deleted.

3. Update repository images – Images that are already in a library repository can be updated using the command

PUT /v1/repositories/(repo_name)/images

4. Get images from a repository – To fetch an image from any given library, use the command

GET /v1/repositories/(repo_name)/images

5. Authorization – A library repository is authorized using a token which can be created using the command

PUT /v1/repositories/(repo_name)/auth

Now, let’s list the commands specific to user repositories. The major difference between library-specific and user-specific commands is the use of namespace.

1. Create a new user repository – A new user repository can be created using the command

PUT /v1/repositories/(namespace)/(repo_name)/

create-user

2. Delete existing repository – Delete the user repository using the command

DELETE /v1/repositories/(namespace)/(repo_name)/

docker-delete-a repo

3. Update images – Update user repository images with

PUT /v1/repositories/(namespace)/(repo_name)/images

docker-update-image

4. Get images from a repository – To fetch images from an existing repository, execute the following command:

GET /v1/repositories/(namespace)/(repo_name)/images

docker-get-user-images

There are a few other simple commands you can use. They are:

Verify a user login using the command:

GET /v1/users

docker-user-login

Create a new user executing the command:

POST /v1/users

Update user details:

PUT /v1/users/(username)/

Now that we’ve taken you on the first leg of this ultimate journey about Docker APIs, look for the second leg about Docker OAuth and Remote APIs in an upcoming post as part of this on-going Docker Tutorial Series.

Did you find this useful?  

Interested in getting tips, best practices and commentary delivered regularly? Click the button below to sign up for our blog and set your topic and frequency preferences.

Other Tutorials in this series:


Docker Tutorial Series, Part 1: An Introduction | Docker Components

 

Docker Tutorial Series, Part 2: The 15 Commands

 

Docker Tutorial Series, Part 3: Automation is the Word Using DockerFile

 

Docker Tutorial Series, Part 4: Registry & Workflows

 

Docker Tutorial Series, Part 5: Docker Security

 

Docker Tutorial Series, Part 6: The Next 15 Docker Commands

 

Docker Tutorial Series, Part 8: Docker Remote API

Categories:
Tags: Docker, Docker Tutorials
Share This Article
Facebook Twitter Pinterest Linkedin
Prev Post
Next Post

Related Articles

re:Invent Round-Up of AWS DevOps Announcements
By Flux7 Labs
December 21, 2020

re:Invent Round-Up of AWS DevOps Announcements

READ MORE
How Will SASE Change Networking in 2021?
By Flux7 Labs
December 16, 2020

How Will SASE Change Networking in 2021?

READ MORE

Recent Posts

  • re:Invent Round-Up of AWS DevOps Announcements

  • How Will SASE Change Networking in 2021?

  • AWS re:Invent Machine Learning Round-Up

  • How to Publish Managed Images to the Azure Marketplace

  • AWS re:Invent News Round-Up

  • Shave Days off Azure Marketplace Publishing with Automated Testing

  • IT Modernization and DevOps News Week in Review 11.30.2020

  • How To: Multi-Cluster Monitoring in Amazon EKS

  • IT Modernization and DevOps News Week in Review 11.16.2020

  • When to Migrate from AWS Landing Zone to AWS Control Tower

Flux7
  • About Flux7
  • Contact Us
  • Careers at Flux7
  • Newsroom
  • Meet our Team
Services
  • Enable Software Innovation
  • Enforce Security and Compliance
  • Adopt Cloud
  • Cloud Migration Services
  • Secure the Cloud
Resources
  • Analysts Reports
  • Case Studies
  • White Papers
About Flux7

Flux7, an NTT DATA Company, helps enterprises reduce the complexities of new and evolving cloud automation strategies. Agile and DevOps-native, Flux7’s robust IT services portfolio prioritizes a fast path to ROI, is transformation focused and creates secure and stable pathways for operational excellence.

Follow Us
Flux7, an NTT DATA Company | All Rights Reserved | Privacy Policy