New computer? Install THIS first... 💻
Tags: docker, beginners, programming, development
Published: 2023-11-23 14:47:00

So! You just got a new laptop! It's right there sitting on your desk.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zub3sslvm892ba9whw77.png)

You excitedly switch it on and the logo of the computer's operating system shows up. A few seconds later, you can finally see the desktop.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zic9hve0xdin7dou3lil.png)

A shiny new desktop with 2-3 icons. Nothing else. It's time to turn this laptop into a powerful developer machine.

![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2fuw7d323vkepjodcd9o.png)

So... let's install some developer tools for our laptop. What's the thing to install first? Surely you'll want to install a programming language, like Python or NodeJS! Or a database, like MySQL or Mongo!

Nop! You don't need to install any of these things. **Just install Docker**!


![](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8901kt948znsl97jbsii.png)

Docker is a tool that lets you install any of these things on little "containers". Think of them like little computers that live in your computer, with their own operating system, package manager etc.

For example, do you need to install the latest version of Python? Just enter this command into your Terminal:

```bash
docker pull python:latest
```

This basically installs the instructions Docker needs to create a new "box" or "container" with its own operating system (Debian in this case) and Python installed. Such instructions are called an *image*.

Now to work with Python, all you need to do is create a new container using the `python` image you installed: Use this command to do so:

```
docker run -it python
```

And just like that, you can work in Python! No Python installation required!

```bash
$ docker run -it python

Python 3.12.0 (main, Nov 21 2023, 17:38:35) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> print("Hello world!")
Hello world!
>>> 
```

You can do the same for NodeJS!

```bash
$ docker run -it node 
Welcome to Node.js v21.2.0.
Type ".help" for more information.
> console.log("Hello world!")
Hello world!
```

Or even MySQL:

```bash
docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 mysql
```

## There's more!

You can do all sorts of stuff you can do with Docker:

* Create a separate environment with several services working together, using [Docker Compose](https://docs.docker.com/compose/)

* Choose a specific version of a tool. For example if you need Python 3.7, just use `docker pull python:3.7`

And many many more things that will make your workflow so much easier! It definitely improved mine 1000%. I know it will improve yours too.

## Learn more about Docker

### Learn from a Docker Captain!

Ready to learn more about Docker? Docker Captain Francesco Ciulla (@francescoxx) will take you through everything you need to know about Docker in 57 minutes!

{% embed
https://youtu.be/i9M2YBSKp4M?si=EYHHojVchpX3Ldsv
%}

### Docker Docs

Learn more about Docker with the [documentation](https://docs.docker.com/).

### Explore the images available in Docker Hub

[Docker Hub](https://docs.docker.com/)