Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Shell Scripting
  • Kali Linux
  • Ubuntu
  • Red Hat
  • CentOS
  • Docker in Linux
  • Kubernetes in Linux
  • Linux interview question
  • Python
  • R
  • Java
  • C
  • C++
  • JavaScript
  • DSA
Open In App
Next Article:
Docker - USER Instruction
Next article icon

Running Commands Inside Docker Container

Last Updated : 17 Jun, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

If you are working on an application inside the Docker Container, you might need commands to install packages or access file system inside the Docker Container. Executing commands inside Docker Containers should be easy enough for you since you have to do it multiple times across your development phase. Docker provides you with many ways to execute commands inside the Containers.

In this article, we are going to discuss firstly what is docker and docker container and then explain the different ways to execute any type of command inside the Docker Container. At the end of the article, we sharing the FAQs to address the common questions regarding running commands inside the docker container.

Table of Content

  • What is Docker?
  • What is a Docker Container?
  • How to Run Commands Inside Docker Container?
  • Why to Run commands inside Docker Container?
  • How to run multiple commands inside the docker container?
  • Difference Between Docker Run and CMD?

What is Docker?

Docker is an open-source container platform tool that helps in containerizing the application. It allows the developers to package their application with all its dependencies into a single package making it as single executable bundle. It ensures consistent environments across different stages of development. It helps the developers in simplifying the development lifecycle making it easier to build, ship, and run the applications anywhere.

What is a Docker Container?

A Docker container is a lightweight executable software package. It includes all the necessary things to run a piece of software such as application code, runtime, system tools, libraries, and settings. Docker Containers comes with isolation that is one container isolated from one another and the host system ensures to run consistently irrespective of the environment that supporting docker.

How to Run Commands Inside Docker Container?

The following are the methods of running commands inside the docker container:

Method 1: Using Bash

You can directly access the bash of the Docker Container and execute commands there. It’s very easy to launch the bash of the Container and you can do so using this command.

sudo docker run -it ubuntu bash
  • The above command runs an Ubuntu Container and fires up its bash.

using bash command

  • Once you have access to the bash, you can start executing any command there. In this example, we will perform an echo command execution.
echo geeksforgeeks

echo geeksforgeeks

Method 2: Using the Docker exec Command

  • In order to run a command inside a Docker Container using the exec command, you have to know the Container Id of the Docker Container. You can get the Container Id using the following Command.
sudo docker container ls

( or )

sudo docker ps -a

listing docker processes

  • Once you have the Container ID, you can use the Docker exec command. But you have to confirm that the Container is running before you can execute the exec command. To start the Container, use this command.
sudo docker start d64b00529582
  • After that, execute the exec command.
sudo docker exec -it d64b00529582 echo "GeeksforGeeks"

docker container exec

Method 3: By using the Dockerfile

When you are creating a large application, it is always advised that you execute your commands by specifying it inside the Dockerfile. However, you should only include those commands inside the Dockerfile which you want to execute while building the Container. For executing commands on the go, you can use any of the two methods above. To execute commands through Dockerfile, you can specify them using the Docker Run Commands.

FROM ubuntu:latest
RUN echo "geeksforgeeks"
  • After you have created the above Dockerfile, you can build the images using the Docker build command.
sudo docker build -t sample-image .

using dockerfile

  • You can see that after step 2, “geeksforgeeks” has been printed.

Why to Run commands inside Docker Container?

The following are the some of the benefits and reasons to run commands inside the docker container:

  • Isolation: Containers provides the isolated environment ensuring the commands run effectively without having the effect of host system or any other containers.
  • Consistency: Docker containers will encapsulate all the dependencies, libraries and configurations that it is needed for the application to make sure that all the commands to run consistency across different environments from development to production.
  • Portability: The commands executed inside the container can be easily moved and run across different systems ensuring that the environment behaves the same way everywhere, facilitating seamless deployment and scalability.
  • Security: Containers offer an additional layer of security by isolating applications from the host system, limiting the potential impact of vulnerabilities and minimizing security risks.

How to run multiple commands inside the docker container?

We can run multiple commands inside the docker container with many different ways. Here we are showing it through docker exec command.

  • The following command helps you to execute multiple commands interactively within a running container using the docker exec command with sh -c:
docker exec -it <container_id> sh -c "apt-get update && apt-get install -y curl && echo 'Installation complete'"
  • Here, try on replacing the <container_id> with your container name or container id.

Difference Between Docker Run and CMD?

The following are the difference between docker run and cmd:

Feature RUN CMD
Execution Time Docker run executes the commands during the build process In dockerfile Docker specifies the default command to run when the container starts
Layer Creation It creates a new layer in the Docker image It does not create a new layer, just sets the default execution command
Usage It is used for installing software packages and dependencies, configuring the environment it is used for defining the primary command or script to run in the container
Overriding Behavior These commands are executed and cannot be overridden at runtime it can be overridden by specifying a different command in docker run


Next Article
Docker - USER Instruction
author
iamrj846
Improve
Article Tags :
  • Docker
  • Docker Container
  • linux

Similar Reads

  • What is Docker?
    Have you ever wondered about the reason for creating Docker Containers in the market? Before Docker, there was a big issue faced by most developers whenever they created any code that code was working on that developer computer, but when they try to run that particular code on the server, that code
    12 min read
  • Introduction to Docker

    • What is Docker?
      Have you ever wondered about the reason for creating Docker Containers in the market? Before Docker, there was a big issue faced by most developers whenever they created any code that code was working on that developer computer, but when they try to run that particular code on the server, that code
      12 min read

    • Features of Docker
      Pre-requisite: Docker Docker is one of the most popular open-source sets of platforms for developing and automating the deployment of applications. It deploys applications into containers and enables us to separate our applications from infrastructure. It is designed to provide a lightweight and fas
      4 min read

    • Architecture of Docker
      Pre-requisite: Docker Docker makes use of a client-server architecture. The Docker client talks with the docker daemon which helps in building, running, and distributing the docker containers. The Docker client runs with the daemon on the same system or we can connect the Docker client with the Dock
      4 min read

    • What is Docker Hub?
      Docker Hub is a repository service and it is a cloud-based service where people push their Docker Container Images and also pull the Docker Container Images from the Docker Hub anytime or anywhere via the internet. It provides features such as you can push your images as private or public. Mainly De
      13 min read

    • What is Docker Cloud?
      Docker is a software platform that provides some special kind of facilities, like a service provider that allows you to build, test, and deploy your application in centralized processing and quickly. So, the Docker Cloud is basically working as a service provider by Docker in which we can perform su
      10 min read

    Docker Installation

    • Docker - Installation on Windows
      In this article, we are going to see how to install Docker on Windows. On windows if you are not using operating system Windows 10 Pro then you will have to install our docker toolbox and here docker will be running inside a virtual machine and then we will interact with docker with a docker client
      2 min read

    • How to Install Docker using Chocolatey on Windows?
      Installing Docker in Windows with just the CLI is quite easier than you would expect. It just requires a few commands. This article assumes you have chocolatey installed on your respective windows machine. If not, you can install chocolatey from here. Chocolatey is a package manager for the Windows
      4 min read

    • How to Install and Configure Docker in Ubuntu?
      Docker is a platform and service-based product that uses OS-level virtualization to deliver software in packages known as containers. Containers are separated from one another and bundle their software, libraries, and configuration files. Docker is written in the Go language. Docker can be installed
      6 min read

    • How to Install Docker on MacOS?
      Pre-requisites: Docker-Desktop Docker Desktop is a native desktop application for Windows and Mac's users created by Docker. It is the most convenient way to launch, build, debug, and test containerized apps. Docker Desktop includes significant and helpful features such as quick edit-test cycles, fi
      2 min read

    • How to install and configure Docker on Arch-based Linux Distributions(Manjaro) ?
      In this article, we are going to see how to install and configure Docker on Arch-based Linux Distributions. Docker is an open-source containerization platform used for building, running, and managing applications in an isolated environment. A container is isolated from another and bundles its softwa
      2 min read

    • How to Install Docker-CE in Redhat 8?
      Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all the parts it needs, such as libraries and other dependencies, and deploy it as one package. Installing Docker-CE in Redhat 8: St
      2 min read

    Docker Commands

    • Docker Commands
      Docker is an open-source project that automates the deployment of applications as movable, independent containers that can run locally or in the cloud. You can divide your applications from your infrastructure with the help of Docker, allowing for quick software delivery and it also allows you to ma
      7 min read

    • Running Commands Inside Docker Container
      If you are working on an application inside the Docker Container, you might need commands to install packages or access file system inside the Docker Container. Executing commands inside Docker Containers should be easy enough for you since you have to do it multiple times across your development ph
      6 min read

    • Docker - USER Instruction
      By default, a Docker Container runs as a Root user. This poses a great security threat if you deploy your applications on a large scale inside Docker Containers. You can change or switch to a different user inside a Docker Container using the USER Instruction. For this, you first need to create a us
      2 min read

    Docker Images

    • What is Docker Image?
      Docker Image is an executable package of software that includes everything needed to run an application. This image informs how a container should instantiate, determining which software components will run and how. Docker Container is a virtual environment that bundles application code with all the
      10 min read

    • Working with Docker Images
      If you are a Docker developer, you might have noticed that working with multiple Docker Images at the same time might be quite overwhelming sometimes. Managing numerous Docker Images all through a single command line is a very hefty task and consumes a lot of time. In this article, we are going to d
      2 min read

    • Docker - Publishing Images to Docker Hub
      Docker is a container platform that facilitates creating and managing containers. In this article, we will see how docker stores the docker images in some popular registries like Dockerhub and how to publish the Docker images to Docker Hub. By publishing the images to the docker hub and making it pu
      8 min read

    • Docker Commit
      Docker is an open-source container management service and one of the most popular tools of DevOps which is being popular among the deployment team. Docker is mostly used in Agile-based projects which require continuous delivery of the software. The founder, Chief Technical Officer, and Chief Archite
      10 min read

    • Docker - Using Image Tags
      Image tags are used to describe an image using simple labels and aliases. Tags can be the version of the project, features of the Image, or simply your name, pretty much anything that can describe the Image. It helps you manage the project's version and lets you keep track of the overall development
      7 min read

    • Next.js Docker Images
      Using Next.js Docker images allows your app to deploy to multiple environments, and is more portable, isolated and scalable in dev and prod. Docker’s containerization makes app management super easy, you can move from one stage to another with performance. Before we get started, let’s cover the basi
      14 min read

    • How to Use Local Docker Images With Minikube?
      Minikube is a software that helps in the quick setup of a single-node Kubernetes cluster. It supports a Virtual Machine (VM) that runs over a docker container and creates a Kubernetes environment. Now minikube itself acts as an isolated container environment apart from the local docker environment,
      7 min read

    Docker Containers

    • Containerization using Docker
      Docker is the containerization platform that is used to package your application and all its dependencies together in the form of containers to make sure that your application works seamlessly in any environment which can be developed or tested or in production. Docker is a tool designed to make it
      9 min read

    • Virtualisation with Docker Containers
      In a software-driven world where omnipresence and ease of deployment with minimum overheads are the major requirements, the cloud promptly takes its place in every picture. Containers are creating their mark in this vast expanse of cloud space with the world’s top technology and IT establishments re
      9 min read

    • Docker - Docker Container for Node.js
      Node.js is an open-source, asynchronous event-driven JavaScript runtime that is used to run JavaScript applications. It is widely used for traditional websites and as API servers. At the same time, a Docker container is an isolated, deployable unit that packages an application along with its depende
      12 min read

    • Docker - Remove All Containers and Images
      In Docker, if we have exited a container without stopping it, we need to manually stop it as it has not stopped on exit. Similarly, for images, we need to delete them from top to bottom as some containers or images might be dependent on the base images. We can download the base image at any time. So
      10 min read

    • How to Push a Container Image to a Docker Repository?
      In this article we will look into how you can push a container image to a Docker Repo. We're going to use Docker Hub as a container registry, that we're going to push our Docker image to. Follow the below steps to push container Image to Docker repository: Step 1: The first thing you need to do is m
      2 min read

    • Docker - Container Linking
      Docker is a set of platforms as a service (PaaS) products that use the Operating system level visualization to deliver software in packages called containers.There are times during the development of our application when we need two containers to be able to communicate with each other. It might be p
      4 min read

    • How to Manage Docker Containers?
      Before virtualization, the management of web servers and web applications was tedious and much less effective. Thanks to virtualization, this task has been made much easier. This was followed by containerization which took it a notch higher. For network engineers, learning the basics of virtualizati
      13 min read

    • Mounting a Volume Inside Docker Container
      When you are working on a micro-service architecture using Docker containers, you create multiple Docker containers to create and test different components of your application. Now, some of those components might require sharing files and directories. If you copy the same files in all the containers
      10 min read

    • Difference between Docker Image and Container
      Pre-requisite: Docker Docker builds images and runs containers by using the docker engine on the host machine. Docker containers consist of all the dependencies and software needed to run an application in different environments. What is Docker Image?The concept of Image and Container is like class
      5 min read

    • Difference between Virtual Machines and Containers
      Virtual machines and Containers are two ways of deploying multiple, isolated services on a single platform. Virtual Machine:It runs on top of an emulating software called the hypervisor which sits between the hardware and the virtual machine. The hypervisor is the key to enabling virtualization. It
      2 min read

    • How to Install Linux Packages Inside a Docker Container?
      Once you understand how to pull base Docker Images from the Docker registry, you can now simply pull OS distributions such as Ubuntu, CentOS, etc directly from the Docker hub. However, the OS Image that you have pulled simply contains a raw file system without any packages installed inside it. When
      2 min read

    • Copying Files to and from Docker Containers
      While working on a Docker project, you might require copying files to and from Docker Containers and your Local Machine. Once you have built the Docker Image with a particular Docker build context, building it again and again just to add small files or folders inside the Container might be expensive
      9 min read

    • How to Run MongoDB as a Docker Container?
      MongoDB is an open-source document-oriented database designed to store a large scale of data and allows you to work with that data very efficiently. It is categorized under the NoSQL (Not only SQL) database because the storage and retrieval of data in MongoDB are not in the form of tables.  In this
      4 min read

    • Docker - Docker Container for Node.js
      Node.js is an open-source, asynchronous event-driven JavaScript runtime that is used to run JavaScript applications. It is widely used for traditional websites and as API servers. At the same time, a Docker container is an isolated, deployable unit that packages an application along with its depende
      12 min read

    • Docker - Container for NGINX
      Docker is an open-source platform that enables developers to easily develop, ship, and run applications. It packages an application along with its dependencies in an isolated virtual container which usually runs on a Linux system and is quite light compared to a virtual machine. The reason is that a
      11 min read

    • How to Provide the Static IP to a Docker Container?
      Docker is an open-source project that makes it easier to create, deploy and run applications. It provides a lightweight environment to run your applications.It is a tool that makes an isolated environment inside your computer. Think of Docker as your private room in your house. Living with your fami
      2 min read

    Docker Compose

    • Docker Compose
      An open-source platform called Docker makes designing, shipping, and deploying applications simple. It runs an application in an isolated environment by compiling its dependencies into a so-called container. for additional information on Docker. In a normal case, several services, such as a database
      15+ min read

    • Docker Compose Tool To Run aMulti Container Applications
      The article talks about how to run multi-container applications using a single command. Docker Compose is a tool for defining and running multi-container Docker applications. With Compose, you can configure a file (YAML file) to configure your docker containers. Then Once you configured the Yaml fil
      8 min read

    Docker Swarm

    • Docker Swarm Mode
      Docker swarm is a container orchestration tool. Swarm Mode in Docker was introduced in version 1.12, enabling the ability to deploy multiple containers on multiple Docker hosts. For this Docker uses an overlay network for the service discovery and with a built-in load balancer for scaling the servic
      14 min read

    • Docker Swarm vs Kubernetes
      Containers are brilliant at packaging and holding all application codes, dependencies, libraries, and necessary configurations in a way that you can run them anywhere easily. But the problem arises from the fact that containers themselves cannot do things like load balancing, provisioning hosts, dis
      10 min read

    Docker Networking

    • Docker Networking
      Pre-requisite: Docker Docker Networking allows you to create a Network of Docker Containers managed by a master node called the manager. Containers inside the Docker Network can talk to each other by sharing packets of information. In this article, we will discuss some basic commands that would help
      5 min read

    • Docker - Managing Ports
      Pre-requisites: Docker Docker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. These containers may need to talk to each other or to services outside docker, for this we not only need to run the image but also expose the c
      4 min read

    • Creating a Network in Docker and Connecting a Container to That Network
      Networks are created so that the devices which are inside that network can connect to each other and transfer of files can take place. In docker also we can create a network and can create a container and connect to the respective network and two containers that are connected to the same network can
      2 min read

    • Connecting Two Docker Containers Over the Same Network
      Whenever we expose a container's port in docker, it creates a network path from the outside of that machine, through the networking layer, and enters that container. In this way, other containers can connect to it by going out to the host, turning around, and coming back in along that path.Docker of
      3 min read

    • How to use Docker Default Bridge Networking?
      Docker allows you to create dedicated channels between multiple Docker Containers to create a network of Containers that can share files and other resources. This is called Docker Networking. You can create Docker Networks with various kinds of Network Drivers which include Bridge drivers, McVLAN dr
      7 min read

    • Create your own secure Home Network using Pi-hole and Docker
      Pi-hole is a Linux based web application, which is used as a shield from the unwanted advertisement in your network and also block the internet tracking system. This is very simple to use and best for home and small office networks. This is totally free and open-source. It also allows you to manage
      3 min read

    Docker Registry

    • What is Docker Registry?
      Docker Registry is a centralized storage and distributed system for collecting and managing the docker images. It provides both public and private repositories as per the choice whether to make the image accessible publicly or not. It is an essential component in the containerization workflow for st
      10 min read

    • Docker - Using Public Repositories To Host Docker Images
      Docker is a software platform for creating isolated virtualized environments for building, deploying, and testing applications with ease. In this tutorial, we will learn how to host public repositories on docker hub which is a hosted repository service provided by Docker for finding and sharing cont
      10 min read

    • Docker - Private Registries
      Pre-requisites: Docker, Docker HUB Docker registry is your own private repository where you can store your own Docker images and share them with others. Docker Registry is basically organized into Docker Repositories. Within the docker Repository, you can maintain specific versions of a Docker Image
      3 min read

    • Creating a Private Repository and Push an Image to That Private Repository
      In this article, we show how to create a docker hub account and pull the image from the docker hub repository and push our image to the docker hub repository. As the docker hub is a public repository that can be accessed by anyone so one can create their own private repository to which they can push
      2 min read

    • Docker - Using Public Repositories To Host Docker Images
      Docker is a software platform for creating isolated virtualized environments for building, deploying, and testing applications with ease. In this tutorial, we will learn how to host public repositories on docker hub which is a hosted repository service provided by Docker for finding and sharing cont
      10 min read

geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences