Docker for Windows Notes

From PeformIQ Upgrade
Jump to navigation Jump to search

After installing docker:

C:\WINDOWS\system32>docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     false

Hello World

C:\WINDOWS\system32>docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
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://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

docker image ls
C:\WINDOWS\system32>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        4 months ago        1.84kB

Starting Images

docker run --interactive --tty ubuntu bash

or

docker run -it ubuntu bash

Then do your apt-get magic to customize the container.

Alternatively you can start and then attach

docker start xxxxx
docker attach xxxxx

Your Containers

docker container
docker ps -a


Using commit

docker ps -l
docker commit xxxxxxxx  ubuntu-vxx
docker run -it ubuntu-vxx

Installing Software on a Container

Let's say we want to configure a container - say ubuntu - with python3:

docker ps -l
docker commit ubuntu ubuntu-v01
docker run -it ubuntu-v01

Once attached work through the installations you require:

apt-get install python3
apt-get install python3-pip

Make some more changes:

C:\WINDOWS\system32>docker ps -l
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
dc6d36dec3c4        ubuntu-v06          "/bin/bash"         12 minutes ago      Exited (0) 4 seconds ago                       eager_burnell

C:\WINDOWS\system32>docker commit dc6d36dec3c4 ubuntu-v07
sha256:27702dc35acd9e02b75c3c0e8c6485f7f85c0dd64a265d0383ea53de7bafabc4

C:\WINDOWS\system32>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu-v07          latest              27702dc35acd        9 seconds ago       602MB
ubuntu-v06          latest              c2a231c0c6ce        13 minutes ago      181MB
...
ubuntu              latest              7698f282e524        12 days ago         69.9MB
hello-world         latest              fce289e99eb9        4 months ago        1.84kB

And then use the updated version as:

docker run -it ubuntu-v07

Renaming a Container

root@polaris:/etc/apt # docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
5ee65b530e37        ubuntu              "//bin/bash"        14 hours ago        Exited (127) 14 hours ago                       interesting_lovelace
4f21717431fd        ubuntu              "//bin/bash"        14 hours ago        Exited (0) 12 hours ago                         cool_diffie
9bdab315aeab        hello-world         "/hello"            14 hours ago        Exited (0) 14 hours ago                         thirsty_galois

root@polaris:/etc/apt # docker container rename interesting_lovelace xxxx

root@polaris:/etc/apt # docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
5ee65b530e37        ubuntu              "//bin/bash"        14 hours ago        Exited (127) 14 hours ago                       xxxx
4f21717431fd        ubuntu              "//bin/bash"        14 hours ago        Exited (0) 12 hours ago                         cool_diffie
9bdab315aeab        hello-world         "/hello"            14 hours ago        Exited (0) 14 hours ago                         thirsty_galois