Docker has taken the world of software development by storm, offering a powerful and efficient way to package, distribute, and run applications in isolated containers. One of the key features that makes Docker so versatile is its ability to interact with containers through shell commands.
In this article, we’ll explore a range of Docker shell commands that will empower you to work with Docker containers like a pro.
1. `docker container run -it`
The `docker container run -it` command allows you to start a new container interactively. This means that you can immediately begin interacting with the shell of the container as soon as it starts. The `-i` option keeps STDIN open, and the `-t` option allocates a pseudo-tty, enabling you to type commands directly into the container’s shell.
docker container run -it {image_name}
2. `docker container exec -it`
The `docker container exec -it` command serves a different purpose. It allows you to run additional commands inside an already running container. This is useful when you want to execute specific tasks within a container without starting a new shell session.
docker container exec -it {container_id} {command}
3. `docker container run –rm -it –name ubuntu ubuntu:14.04 bash`
This command demonstrates several options in action. It starts a new container from the `ubuntu:14.04` image, names the container as “ubuntu,” and runs an interactive bash shell inside it. The `–rm` option automatically removes the container when it exits, ensuring that no leftover containers clutter your system.
docker container run --rm -it --name ubuntu ubuntu:14.04 bash
4. `docker container run -it –name nginx nginx bash`
With this command, you can run a bash shell inside a new container created from the `nginx` image. This is helpful when you need to access the shell for troubleshooting or debugging purposes. However, it’s important to note that SSH is not available in the container by default.
docker container run -it --name nginx nginx bash
5. `docker container start -ai {containerName}`
The `docker container start -ai` command comes in handy when you want to start a container that was previously stopped and attach to its shell. The `-a` option attaches the STDIN and STDOUT streams, and the `-i` option allows for an interactive session with the container.
docker container start -ai {containerName}
6. `docker container exec -it {containerId} bash`
This command is similar to the `docker container exec -it` command mentioned earlier. It enables you to run a command inside a running container, but it won’t affect the container’s main process. This means that when you exit the shell, the container will continue running as it was before.
docker container exec -it {containerId} bash
Mastering Docker shell commands gives you greater control and flexibility when working with containers. Whether you need to start a new container interactively, execute commands within a running container, or access the shell for debugging, Docker’s shell commands have got you covered. As you become more familiar with these commands, you’ll discover just how much Docker can streamline your development and deployment workflows.
Happy containerizing!
You may also like:- Top 40 Useful Linux Command Snippets
- Essential Commands For Process Management in Kali Linux
- A Comprehensive Guide to File System Commands in Linux
- Essential File Compression Commands in Linux
- Secure Shell (SSH) Protocol – A Comprehensive Guide
- Monitoring Active Connections in Kali Linux Using Netstat
- Manage Time and Date in Linux with timedatectl
- How to Add a User to Sudoers on Ubuntu
- 25 Popular Linux IP Command Examples
- Top 11 Nmap Commands for Remote Host Scanning