Docker

Dan Fletcher
Quiz by Dan Fletcher, updated more than 1 year ago
Dan Fletcher
Created by Dan Fletcher over 2 years ago
2041
0

Description

Dev/Ops Quiz on Docker, created by Dan Fletcher on 07/03/2019.

Resource summary

Question 1

Question
What is Docker? Select the BEST explanation.
Answer
  • Docker is software that enables applications to be bundled into a single package including all its dependencies, configuration and even the OS the application needs to run on. This makes applications highly portable and easy to scale horizontially.
  • Docker is software that enables developers to easily spin up and tear down light-weight virtual machines called "containers". Since these VM's include everything the application needs to run, it makes the app highly portable and easy to scale horizontally.
  • Docker is software that enables applications to be bundled into a single package including all its dependencies, configuration and even the OS the application needs to run on. A caveat of this is that the container requires Docker to run, so this reduces portability.
  • Docker is a container orchestration platform that aims to make the lives of dev/ops engineers easier when scaling distributed systems.

Question 2

Question
A container is a type of virtual machine.
Answer
  • True
  • False

Question 3

Question
A Docker container only stays alive for as long as there is a running process.
Answer
  • True
  • False

Question 4

Question
Which commands can be used to echo the words "Hello, world!" to the console through an Ubuntu Docker container? Select all that apply.
Answer
  • docker run -it ubuntu echo "Hello, world!"
  • docker run -i ubuntu echo "Hello, world!"
  • docker exec -it ubuntu echo "Hello, world!"
  • docker exec -i ubuntu echo "Hello, world!"
  • docker run ubuntu echo "Hello, world!"

Question 5

Question
The following command will fail without first pulling the image: `docker run ubuntu echo "Hello, world!"`
Answer
  • True
  • False

Question 6

Question
If you have a running container named "checker" you can see the logs of that container with `docker [blank_start]logs[blank_end] checker`
Answer
  • logs

Question 7

Question
A Docker container's PID is namespaced to the container itself. This means PID:1 in container A is not the same as PID:1 in container B. Furthermore, the PIDs of A and B can't be seen from the host OS nor can the containers list PID belonging to the host.
Answer
  • True
  • False

Question 8

Question
A Docker container can have its PID's namespaced the host OS by adding the option [blank_start]--pid host[blank_end] when running the container.
Answer
  • --pid host

Question 9

Question
Which flag allows one Docker container to talk to the other?
Answer
  • A Canadian flag.
  • --link <container_name>
  • --ref <container_name>
  • --join <container_name>
  • --pid <container_name>

Question 10

Question
Why is a Docker container lighter in terms of resources compared to virtual machine?
Answer
  • Docker only needs to create one small virtual machine on which multiple containers can be built using much less resources than creating multiple VM's. This is possible because Docker containers are capable of sharing the same Kernel whereas VM's require the entire OS.
  • Docker containers are light weight because they usually are intended run only one thing. This means they usually have far fewer process than a virtual machine which tends to have a heavier workload and thus are usually associated with the cost of higher resource usage.
  • It's a trick question. Docker containers are not necessarily any lighter on system resources than a virtual machine. The benefit of Docker isn't that containers are lighter than VM's it's just that they can be created more easily, which is what makes them so portable.

Question 11

Question
You can list running containers using the command: [blank_start]docker ps[blank_end]
Answer
  • docker ps, docker container ls

Question 12

Question
You can list downloaded Docker images using the command: [blank_start]docker images ls[blank_end]
Answer
  • docker images, docker image ls

Question 13

Question
You can save the CID of a newly created container by running the command: docker create [blank_start]--cid-file[blank_end] /tmp/mycontainer.cid busybox
Answer
  • --cid-file

Question 14

Question
Explain the difference between using `docker run busybox` and `docker create busybox`
Answer
  • The `run` command is an alias to the pull and create commands. `create` won't work if you haven't pulled the image of the container you're trying to run first.
  • The `run` command creates the container if it doesn't exist already and then runs it. `create` is used to create a new container without running it right away.
  • `create` is not a Docker command.

Question 15

Question
Lets create a WordPress container with a read-only filesystem: docker run -d [blank_start]--read-only[blank_end] --name wpress wordpress
Answer
  • --read-only

Question 16

Question
Any given Docker container can be in one of four states. These states are named:
Answer
  • running
  • paused
  • restarting
  • exited
  • booted
  • down
  • suspended
  • up
  • pending
  • shutdown

Question 17

Question
The `--restart` option can be added at creation time to instruct Docker to restart the container. It has one of the four following: - Do not restart at all (the default behaviour): `[blank_start]--restart no[blank_end]` - Try to restart when a failure happens: `[blank_start]--restart on-failure[:max-retries][blank_end]` - Always restart but not when the daemon starts if it was previously put to the stopped state: `[blank_start]--restart unless-stopped[blank_end]` - Always restart when the container is down: `[blank_start]--restart always[blank_end]`
Answer
  • --restart no
  • --restart on-failure[:max-retries]
  • --restart unless-stopped
  • --restart always
  • --restart off
  • --restart none
  • --no-restart
  • --restart on-fail[:max-retries]
  • --restart on-failure[:max-attempts]
  • --restart only-if-stopped
  • --restart on-daemon-stopped
  • --restart yes
  • --restart on

Question 18

Question
If a Docker container was created with `--restart always` and took 1 second to restart the first time it failed, how long will Docker wait before attempts restarting the container after the second time it fails?
Answer
  • 1 second
  • 2 seconds
  • It depends on what was set with the `time-between-retries` option
  • Instantly.

Question 19

Question
Docker Hub is the only Docker registry available for finding Docker images.
Answer
  • True
  • False

Question 20

Question
We want to pull a WordPress image down from the quay.io repository. Which choice accomplishes this?
Answer
  • Run the following: docker remote add quay.io docker use quay.io docker pull nitros/wordpress
  • docker pull quay.io/nitros/wordpress
  • Both options will do the same thing.
  • Both options work but the `docker pull quay.io/nitros/wordpress` command will reset the remote back to Docker Hub after it pulls the image.

Question 21

Question
One advantage of Docker is that when you download an image it's only one file which is why it's usually so fast to download new images.
Answer
  • True
  • False

Question 22

Question
Internally Docker uses a union filesystem. One disadvantage of this is that you don't have support for extended file attributes. To get around this limitation you can use Docker Volumes.
Answer
  • True
  • False

Question 23

Question
What is the reason for using Volumes in Docker?
Answer
  • To create exceptions to the `--read-only` mode.
  • All of the above.
  • To add support for extended file attributes.
  • To sync source code on the host OS with the container so modifications to code don't require a container rebuild.
  • To gain access to persisted data such as data in a database.

Question 24

Question
Given a directory on your host OS at `/share` and a Docker container with a directory called `/app`, how would you run the container with a volume mount between `/share` and `/app` AND have it run with read-only enabled for the volume? Like this: `docker run -it [blank_start]-v /share:/app:ro[blank_end]`
Answer
  • -v /share:/app:ro
Show full summary Hide full summary

Similar

Study on IoT systems design
Tomasz Cieplak
Database systems and distributed systems: A2
Tia Catt
Kubernetes
Androi Rails 4.2
Lecture #1
Savannah Smith
CSSE4004 - Lecture 8
tb22
CSSE4004 - Lecture 6
tb22
CSSE4004 - Lecture 10
tb22
CSSE4004 -Lecture 7
tb22
CSSE4004 - Lecture 4
tb22
CSSE4004 Lecture 1
tb22
CSSE4004 - Lecture 5
tb22