Skip to content

Commit 7196299

Browse files
authored
Add new questions for Networking and Installation domains (#53)
Networking (+28 questions): - docker_dns.yaml: DNS resolution (8) - macvlan_networks.yaml: macvlan driver (6) - network_troubleshooting_advanced.yaml: advanced troubleshooting (8) - network_scoping.yaml: local vs swarm scope (6) Installation & Configuration (+26 questions): - daemon_json_config.yaml: daemon.json settings (8) - docker_editions.yaml: CE vs EE editions (6) - proxy_configuration.yaml: proxy setup (6) - rootless_docker.yaml: rootless mode (6)
1 parent 2b3d6b1 commit 7196299

File tree

9 files changed

+494
-0
lines changed

9 files changed

+494
-0
lines changed

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ The goal is to help candidates:
8383
* [Describe and interpret errors to troubleshoot installation issues without assistance.](data/3_installation_and_configuration/install_troubleshooting.yaml)
8484
* [Describe and demonstrate the steps to deploy the Docker engine, UCP (now MKE), and DTR (now MSR) on AWS and on-premises in an HA configuration.](data/3_installation_and_configuration/deploy_ucp_dtr_ha.yaml)
8585
* [Describe and demonstrate how to configure backups for UCP (now MKE) and DTR (now MSR).](data/3_installation_and_configuration/backup_ucp_dtr.yaml)
86+
* [Describe daemon.json configuration.](data/3_installation_and_configuration/daemon_json_config.yaml)
87+
* [Describe Docker editions (CE vs EE).](data/3_installation_and_configuration/docker_editions.yaml)
88+
* [Describe proxy configuration for Docker.](data/3_installation_and_configuration/proxy_configuration.yaml)
89+
* [Describe rootless Docker mode.](data/3_installation_and_configuration/rootless_docker.yaml)
8690

8791
### Domain 4: Networking (15% of exam)
8892

@@ -98,6 +102,10 @@ The goal is to help candidates:
98102
* [Understand and describe the types of traffic that flow between the Docker engine, registry, and UCP (now MKE) controllers](data/4_Networking/understand_engine_registry_ucp_traffic.yaml)
99103
* [Describe and demonstrate how to deploy a service on a Docker overlay network.](data/4_Networking/deploy_overlay_service.yaml)
100104
* [Describe and demonstrate how to troubleshoot container and engine logs to resolve connectivity issues between containers.](data/4_Networking/troubleshoot_container_connectivity.yaml)
105+
* [Describe Docker DNS resolution.](data/4_Networking/docker_dns.yaml)
106+
* [Describe macvlan networks.](data/4_Networking/macvlan_networks.yaml)
107+
* [Describe advanced network troubleshooting.](data/4_Networking/network_troubleshooting_advanced.yaml)
108+
* [Describe network scoping (local vs swarm).](data/4_Networking/network_scoping.yaml)
101109

102110
### Domain 5: Security (15% of exam)
103111

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
questions:
2+
- uuid: a1d3e7c4-5f28-4b91-8e6a-3c9d0f1b7a24
3+
question: What is the default location of the Docker daemon configuration file on Linux?
4+
answers:
5+
- { value: '/var/lib/docker/config.json', correct: false }
6+
- { value: '/etc/docker/daemon.json', correct: true }
7+
- { value: '/usr/local/docker/daemon.conf', correct: false }
8+
- { value: '/etc/default/docker.json', correct: false }
9+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
10+
11+
- uuid: b4e6f8a2-9c13-4d75-a0b8-7e2f5d3c1a96
12+
question: Which key in daemon.json is used to configure insecure registries?
13+
answers:
14+
- { value: 'allow-http-registries', correct: false }
15+
- { value: 'registry-mirrors', correct: false }
16+
- { value: 'insecure-registries', correct: true }
17+
- { value: 'no-tls-registries', correct: false }
18+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#insecure-registries
19+
20+
- uuid: c7a9d1e5-3b46-4f82-9d0c-8a6e2f4b7c53
21+
question: How do you enable debug mode in the Docker daemon using daemon.json?
22+
answers:
23+
- { value: 'Set "log-level": "debug"', correct: false }
24+
- { value: 'Set "debug": true', correct: true }
25+
- { value: 'Set "verbose": true', correct: false }
26+
- { value: 'Set "mode": "debug"', correct: false }
27+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
28+
29+
- uuid: d2f4b8c6-1e73-4a59-b6d0-5c9a3e7f2d18
30+
question: What happens if the same option is set both in daemon.json and as a dockerd command-line flag?
31+
answers:
32+
- { value: 'The daemon.json value takes precedence', correct: false }
33+
- { value: 'The command-line flag takes precedence', correct: false }
34+
- { value: 'Docker fails to start and reports a configuration conflict', correct: true }
35+
- { value: 'Docker merges both values together', correct: false }
36+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
37+
38+
- uuid: e5a1c3d7-8b29-4f6e-a4c2-6d0b9e7f3a85
39+
question: Which signal can be sent to the Docker daemon to reload daemon.json without restarting the daemon?
40+
answers:
41+
- { value: 'SIGTERM', correct: false }
42+
- { value: 'SIGKILL', correct: false }
43+
- { value: 'SIGHUP', correct: true }
44+
- { value: 'SIGUSR1', correct: false }
45+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
46+
47+
- uuid: f8b2d4e6-0a57-4c91-b3e5-9f1a7c6d2b48
48+
question: Which key in daemon.json is used to configure custom DNS servers for all containers?
49+
answers:
50+
- { value: 'nameservers', correct: false }
51+
- { value: 'dns', correct: true }
52+
- { value: 'resolv-conf', correct: false }
53+
- { value: 'dns-servers', correct: false }
54+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
55+
56+
- uuid: 1a3c5e7b-2d49-4f80-96a1-8b0e4f6c3d72
57+
question: Which daemon.json key allows you to define default subnet pools for user-defined bridge networks?
58+
answers:
59+
- { value: 'subnet-pools', correct: false }
60+
- { value: 'bridge-subnets', correct: false }
61+
- { value: 'default-address-pools', correct: true }
62+
- { value: 'network-pools', correct: false }
63+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
64+
65+
- uuid: 2b4d6f8a-3e51-4c92-a7b2-9c1f5e7d4a63
66+
question: Which daemon.json options can be reloaded with SIGHUP without restarting the Docker daemon?
67+
answers:
68+
- { value: 'storage-driver and data-root', correct: false }
69+
- { value: 'debug, labels, and insecure-registries', correct: true }
70+
- { value: 'iptables and ip-forward', correct: false }
71+
- { value: 'All daemon.json options can be reloaded without restart', correct: false }
72+
help: https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
questions:
2+
- uuid: 3c5e7a9b-4f62-4d83-b8c3-0d2a6e8f5b74
3+
question: What replaced Docker Enterprise Edition after Mirantis acquired it in 2019?
4+
answers:
5+
- { value: 'Docker Business Edition', correct: false }
6+
- { value: 'Docker Pro', correct: false }
7+
- { value: 'Mirantis Container Runtime', correct: true }
8+
- { value: 'Docker Enterprise Community', correct: false }
9+
help: https://docs.docker.com/engine/
10+
11+
- uuid: e915b4e4-d94a-4139-b6f8-3716c08c4191
12+
question: Which release channel provides the most recent stable Docker CE builds intended for production use?
13+
answers:
14+
- { value: 'edge', correct: false }
15+
- { value: 'nightly', correct: false }
16+
- { value: 'stable', correct: true }
17+
- { value: 'beta', correct: false }
18+
help: https://docs.docker.com/engine/install/
19+
20+
- uuid: b5ee83b7-5ba4-4d4e-a3c5-ffcc33686e34
21+
question: Which Docker release channel is intended for pre-release testing and includes features not yet available in the stable channel?
22+
answers:
23+
- { value: 'nightly', correct: false }
24+
- { value: 'test', correct: true }
25+
- { value: 'edge', correct: false }
26+
- { value: 'dev', correct: false }
27+
help: https://docs.docker.com/engine/install/
28+
29+
- uuid: f25cd4d9-b00d-47e6-9607-6179d5b531a9
30+
question: What is Docker Desktop?
31+
answers:
32+
- { value: 'A lightweight Linux-only CLI tool for managing Docker images', correct: false }
33+
- { value: 'An application for Mac and Windows that provides a GUI and bundled Docker Engine, CLI, Compose, and Kubernetes', correct: true }
34+
- { value: 'A browser-based management console for Docker Swarm clusters', correct: false }
35+
- { value: 'A Docker plugin for managing virtual machines on desktop systems', correct: false }
36+
help: https://docs.docker.com/desktop/
37+
38+
- uuid: 5dd4a9a8-8765-4b2a-8101-040d1fe37fe7
39+
question: Which component is the open-source Docker container runtime available on Linux, commonly installed via package managers?
40+
answers:
41+
- { value: 'Docker Desktop', correct: false }
42+
- { value: 'Docker Machine', correct: false }
43+
- { value: 'Docker Engine', correct: true }
44+
- { value: 'Docker Toolbox', correct: false }
45+
help: https://docs.docker.com/engine/
46+
47+
- uuid: 17c0df34-7659-4175-8a93-44810e7e8284
48+
question: Docker Desktop requires a paid subscription for professional use in organizations of what size?
49+
answers:
50+
- { value: 'More than 10 employees', correct: false }
51+
- { value: 'More than 100 employees', correct: false }
52+
- { value: 'More than 250 employees or more than $10 million in annual revenue', correct: true }
53+
- { value: 'All organizations regardless of size', correct: false }
54+
help: https://docs.docker.com/subscription/
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
questions:
2+
- uuid: ff898791-1a5f-4cf9-9272-0c8f10cee3b6
3+
question: Where should you configure HTTP_PROXY and HTTPS_PROXY environment variables so that the Docker daemon uses them on a systemd-based Linux system?
4+
answers:
5+
- { value: '/etc/docker/daemon.json', correct: false }
6+
- { value: 'A systemd drop-in file such as /etc/systemd/system/docker.service.d/http-proxy.conf', correct: true }
7+
- { value: '/etc/environment', correct: false }
8+
- { value: '/var/lib/docker/proxy.conf', correct: false }
9+
help: https://docs.docker.com/engine/daemon/proxy/
10+
11+
- uuid: 7e04292f-182e-4eab-8369-c38f3514f445
12+
question: Which file configures proxy settings that are automatically applied to containers during docker build and docker run?
13+
answers:
14+
- { value: '/etc/docker/daemon.json', correct: false }
15+
- { value: '~/.docker/config.json', correct: true }
16+
- { value: '/etc/default/docker', correct: false }
17+
- { value: '~/.bashrc', correct: false }
18+
help: https://docs.docker.com/network/proxy/
19+
20+
- uuid: fef6b35f-f2c1-475e-82b4-62049ba12732
21+
question: Which environment variable is used to specify hosts that should bypass the proxy for the Docker daemon?
22+
answers:
23+
- { value: 'PROXY_BYPASS', correct: false }
24+
- { value: 'DOCKER_NO_PROXY', correct: false }
25+
- { value: 'NO_PROXY', correct: true }
26+
- { value: 'SKIP_PROXY', correct: false }
27+
help: https://docs.docker.com/engine/daemon/proxy/
28+
29+
- uuid: 99c5acd0-c628-4c5c-9414-131d9e329e3e
30+
question: What command must be run after creating or modifying a systemd drop-in file for Docker proxy configuration?
31+
answers:
32+
- { value: 'systemctl restart docker', correct: false }
33+
- { value: 'systemctl daemon-reload followed by systemctl restart docker', correct: true }
34+
- { value: 'dockerd --reload', correct: false }
35+
- { value: 'service docker reload', correct: false }
36+
help: https://docs.docker.com/engine/daemon/proxy/
37+
38+
- uuid: 634bfe0a-1f67-4862-8bd6-b838f2899364
39+
question: In ~/.docker/config.json, under which key are proxy settings for containers configured?
40+
answers:
41+
- { value: 'proxyConfig', correct: false }
42+
- { value: 'network', correct: false }
43+
- { value: 'proxies', correct: true }
44+
- { value: 'httpSettings', correct: false }
45+
help: https://docs.docker.com/network/proxy/
46+
47+
- uuid: d3f070b3-0919-4551-807c-c6a63c0fe440
48+
question: When proxy settings are configured in ~/.docker/config.json, how are they passed to containers?
49+
answers:
50+
- { value: 'As Docker labels on the container', correct: false }
51+
- { value: 'As environment variables injected automatically into the container', correct: true }
52+
- { value: 'As arguments appended to the container entrypoint', correct: false }
53+
- { value: 'As DNS records resolved by the Docker embedded DNS server', correct: false }
54+
help: https://docs.docker.com/network/proxy/
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
questions:
2+
- uuid: ca71052a-2e37-4568-8e90-e622eac367ec
3+
question: Which script is used to install and configure Docker in rootless mode?
4+
answers:
5+
- { value: 'docker-rootless-install.sh', correct: false }
6+
- { value: 'dockerd-rootless-setuptool.sh install', correct: true }
7+
- { value: 'docker-setup --rootless', correct: false }
8+
- { value: 'install-docker-rootless.sh', correct: false }
9+
help: https://docs.docker.com/engine/security/rootless/
10+
11+
- uuid: 6d8f0b2c-7a95-4eb6-8f96-3e5bdf1a6c07
12+
question: What must the DOCKER_HOST environment variable be set to when using Docker in rootless mode?
13+
answers:
14+
- { value: 'tcp://localhost:2375', correct: false }
15+
- { value: 'unix:///var/run/docker.sock', correct: false }
16+
- { value: 'unix://$XDG_RUNTIME_DIR/docker.sock', correct: true }
17+
- { value: 'unix:///tmp/docker-rootless.sock', correct: false }
18+
help: https://docs.docker.com/engine/security/rootless/
19+
20+
- uuid: 7e9a1c3d-8b06-4fc7-9a07-4f6cea2b7d18
21+
question: Which of the following is a limitation of Docker rootless mode by default?
22+
answers:
23+
- { value: 'Containers cannot use bridge networking', correct: false }
24+
- { value: 'Containers cannot use volumes', correct: false }
25+
- { value: 'The --privileged flag is not allowed', correct: true }
26+
- { value: 'Only one container can run at a time', correct: false }
27+
help: https://docs.docker.com/engine/security/rootless/
28+
29+
- uuid: 62ee1613-cf07-4037-84e3-b2c2202a69eb
30+
question: Which networking component does Docker rootless mode use by default instead of iptables for port forwarding?
31+
answers:
32+
- { value: 'nftables', correct: false }
33+
- { value: 'slirp4netns', correct: true }
34+
- { value: 'macvlan', correct: false }
35+
- { value: 'ipvlan', correct: false }
36+
help: https://docs.docker.com/engine/security/rootless/
37+
38+
- uuid: ece30377-a80c-4948-8071-baf6fe0e169d
39+
question: Which kernel feature must be enabled for Docker rootless mode to provide UID/GID isolation between the host and containers?
40+
answers:
41+
- { value: 'cgroups v2', correct: false }
42+
- { value: 'seccomp', correct: false }
43+
- { value: 'user namespaces (unprivileged)', correct: true }
44+
- { value: 'AppArmor', correct: false }
45+
help: https://docs.docker.com/engine/security/rootless/
46+
47+
- uuid: 268277e6-27f1-4d4f-a88e-edf7942f2e4b
48+
question: Which security module is not natively supported inside containers running in Docker rootless mode?
49+
answers:
50+
- { value: 'seccomp', correct: false }
51+
- { value: 'SELinux', correct: false }
52+
- { value: 'AppArmor', correct: true }
53+
- { value: 'capabilities', correct: false }
54+
help: https://docs.docker.com/engine/security/rootless/

data/4_Networking/docker_dns.yaml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
questions:
2+
- uuid: a3c7e1d4-5f28-4b9a-8e61-3d2f7c9a0b14
3+
question: What is the IP address of the embedded DNS server that Docker provides to containers on user-defined networks?
4+
answers:
5+
- { value: '127.0.0.1', correct: false }
6+
- { value: '127.0.0.11', correct: true }
7+
- { value: '172.17.0.1', correct: false }
8+
- { value: '8.8.8.8', correct: false }
9+
help: https://docs.docker.com/config/containers/container-networking/#dns-services
10+
11+
- uuid: b8d4f2e5-6a39-4c0b-9f72-4e3a8d1b2c25
12+
question: On which type of Docker network does automatic DNS-based container name resolution work?
13+
answers:
14+
- { value: 'The default bridge network', correct: false }
15+
- { value: 'User-defined networks only', correct: true }
16+
- { value: 'All networks including host mode', correct: false }
17+
- { value: 'Only overlay networks', correct: false }
18+
help: https://docs.docker.com/config/containers/container-networking/#dns-services
19+
20+
- uuid: 2d245c7f-6a3d-4723-8b78-a997a3962933
21+
question: What does the --dns flag do when passed to a docker run command?
22+
answers:
23+
- { value: 'It changes the embedded DNS server address from 127.0.0.11', correct: false }
24+
- { value: 'It sets a custom DNS server that the container uses for external name resolution', correct: true }
25+
- { value: 'It disables DNS resolution entirely for the container', correct: false }
26+
- { value: 'It configures DNS for the Docker daemon globally', correct: false }
27+
help: https://docs.docker.com/config/containers/container-networking/#dns-services
28+
29+
- uuid: ad53b53d-28c7-4512-a074-45170876e547
30+
question: What is the purpose of the --dns-search flag in a docker run command?
31+
answers:
32+
- { value: 'It searches for containers with matching DNS names', correct: false }
33+
- { value: 'It enables DNS lookup logging for debugging', correct: false }
34+
- { value: 'It sets the DNS search domain so unqualified hostnames are resolved under that domain', correct: true }
35+
- { value: 'It restricts DNS queries to a specific network', correct: false }
36+
help: https://docs.docker.com/config/containers/container-networking/#dns-services
37+
38+
- uuid: aa179ba0-8c07-41ae-9363-a9e918be1f48
39+
question: Two containers named "web" and "api" are running on the same user-defined bridge network. How can the "web" container reach the "api" container?
40+
answers:
41+
- { value: 'By using the IP address of the Docker host', correct: false }
42+
- { value: 'By using the container name "api" as the hostname', correct: true }
43+
- { value: 'By publishing a port on the "api" container and using localhost', correct: false }
44+
- { value: 'By using the container ID as the hostname on the default bridge', correct: false }
45+
help: https://docs.docker.com/network/bridge/#differences-between-user-defined-bridges-and-the-default-bridge
46+
47+
- uuid: 9efc07d2-66ac-4556-8adf-87aa53686147
48+
question: How does Docker Swarm provide DNS-based service discovery for services deployed on an overlay network?
49+
answers:
50+
- { value: 'Each task registers with an external Consul DNS server', correct: false }
51+
- { value: 'The Swarm manager resolves service names to the virtual IP (VIP) of the service', correct: true }
52+
- { value: 'Services must be configured with --dns pointing to the manager node', correct: false }
53+
- { value: 'Service discovery is only available when using the host network driver', correct: false }
54+
help: https://docs.docker.com/network/overlay/#service-discovery
55+
56+
- uuid: 77bcecab-5128-413f-bc60-d5929760a3a0
57+
question: What is DNS round-robin in the context of Docker networking?
58+
answers:
59+
- { value: 'A method that assigns a unique DNS name to each container on a network', correct: false }
60+
- { value: 'A resolution mode where a DNS lookup for a service name returns the IP addresses of all backing containers in rotation', correct: true }
61+
- { value: 'A technique that forces DNS queries to alternate between internal and external DNS servers', correct: false }
62+
- { value: 'A failover mechanism that redirects DNS traffic to a secondary Docker host', correct: false }
63+
help: https://docs.docker.com/network/overlay/#customize-the-default-ingress-network
64+
65+
- uuid: 0b2a7d26-453c-433d-a3c2-ba9ef79a878e
66+
question: Which docker run flag can be used to assign a network alias that other containers can use for DNS resolution?
67+
answers:
68+
- { value: '--hostname', correct: false }
69+
- { value: '--name', correct: false }
70+
- { value: '--network-alias', correct: true }
71+
- { value: '--dns-alias', correct: false }
72+
help: https://docs.docker.com/engine/reference/commandline/run/#network-alias

0 commit comments

Comments
 (0)