Installing Docker - Performance & Efficiency
When installing Docker, it's helpful to understand how the time needed grows as the installation steps increase.
We want to know how the total work changes if we add more installation commands or steps.
Analyze the time complexity of the following Docker installation commands.
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
sudo add-apt-repository "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
This code installs Docker on an Ubuntu system by updating package lists, adding Docker's repository, installing Docker packages, and starting the Docker service.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Running each installation command one after another.
- How many times: Each command runs once in sequence; no loops or repeated commands inside this snippet.
Each added installation step adds a fixed amount of time, so the total time grows steadily as we add more commands.
| Input Size (n) | Approx. Operations |
|---|---|
| 3 commands | 3 steps |
| 6 commands | 6 steps |
| 10 commands | 10 steps |
Pattern observation: The time grows directly with the number of commands; doubling commands roughly doubles the time.
Time Complexity: O(n)
This means the total time grows in a straight line as you add more installation steps.
[X] Wrong: "Installing Docker takes the same time no matter how many commands I run."
[OK] Correct: Each command adds work, so more commands mean more time needed.
Understanding how installation steps add up helps you plan and explain deployment processes clearly in real projects.
"What if we combined multiple installation commands into one line? How would the time complexity change?"