# Get Docker

## Get Docker

> Docker is available in two editions: Community Edition (CE) and Enterprise Edition (EE).
>
> > Docker Community Edition (CE) is ideal for developers and small teams looking to get started with Docker and experimenting with container-based apps. Docker CE has two update channels, stable and edge: Stable gives you reliable updates every quarter and Edge gives you new features every month Docker Enterprise Edition (EE) is designed for enterprise development and IT teams who build, ship, and run business critical applications in production at scale. For more information about Docker EE, including purchasing options, see Docker Enterprise Edition. [Get Docker Install Docker](https://docs.docker.com/install/)

## Get Docker :: Dcoker CE for Ubuntu

> To get started with Docker CE on Ubuntu, make sure you meet the prerequisites, then install Docker. [Homepage](https://docs.docker.com/install/linux/docker-ce/ubuntu/)

* [Free Docker ID: share images, automate workflows, and more](https://cloud.docker.com/)
* [For more examples and ideas](https://docs.docker.com/engine/userguide/)

```bash
user@workstation:~$ sudo apt-get remove docker docker-engine docker.io
user@workstation:~$ sudo apt-get update
user@workstation:~$ sudo apt install curl
user@workstation:~$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
user@workstation:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
user@workstation:~$ sudo apt-key fingerprint 0EBFCD88
user@workstation:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
user@workstation:~$ sudo apt-get update
user@workstation:~$ sudo apt-get install docker-ce
```

## Get Docker :: Dcoker CE for Ubuntu :: Hello World

```bash
user@workstation:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
user@workstation:~$ sudo docker stop $(sudo docker ps -a -q)
user@workstation:~$ sudo docker rm $(sudo docker ps -a -q)
user@workstation:~$ sudo docker rmi -f $(sudo docker images -q --no-trunc)
```

```bash
user@workstation:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:083de497cff944f969d8499ab94f07134c50bcf5e6b9559b27182d3fa80ce3f7
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

user@workstation:~$
```

```bash
user@workstation:~$ ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:7b:4d:32:70  
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:7bff:fe4d:3270/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50745 errors:0 dropped:0 overruns:0 frame:0
          TX packets:78339 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2829703 (2.8 MB)  TX bytes:118957690 (118.9 MB)
```

## Get Docker :: Dcoker CE for Ubuntu :: Ubuntu

```bash
user@workstation:~$ sudo docker run -it ubuntu bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
1be7f2b886e8: Pull complete 
6fbc4a21b806: Pull complete 
c71a6f8e1378: Pull complete 
4be3072e5a37: Pull complete 
06c6d2f59700: Pull complete 
Digest: sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696
Status: Downloaded newer image for ubuntu:latest
```

```bash
root@97bc53a0dfc1:/# uname -a
Linux 97bc53a0dfc1 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
root@97bc53a0dfc1:/# exit
user@workstation:~$
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://theiotlearninginitiative.gitbook.io/edgecomputingsolutions/introduction/edge-computing-solutions-architect/virtualization/containers/docker/get-docker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
