½Òµ{¦WºÙ¡G¶i¶¥ Linux Docker ³nÅé®e¾¹ (Container) ½Òµ{ - ²ºÙ¡GAdvanced Linux Docker Training Course |
1. Image and Container Layers
1.1 Overview
1.2 Layers in a Container
1.2.1 Basic Mechanism for the R/W Layer
1.2.2 Examining the Layers in a Container
1.2.3 Exercise for Examining the Working of Container¡¦s Layers
1.2.4 Notes about Accessing R/W Layer in a Container
1.3 Layers in an Image
1.3.1 Basic Mechanism
1.3.2 Exercise for Examining Images Layers
1.3.3 Image Layers when Building with Dockerfile
1.3.4 Exercise for Examining Build Cache
1.3.5 Exercise for Clearing / Disabling Build Cache
1.3.6 Exercise for Multi-Stage Builds
2. Ways for Providing Storage Space to a Container
2.1 Overview
2.2 Pros and Cons for Using Layers
2.3 Using Volumes
2.3.1 Mechanism of Volumes
2.3.2 Exercise for Using Volumes
2.3.3 Pros and Cons for Using Volumes
2.4 Using Bind Mount
2.4.1 Mechanism of Bind Mount
2.4.2 Exercise for Using Bind Mounts
2.4.3 Pros and Cons for Using Bind Mount
2.5 Using tmpfs
3. Logging, Resource Control and Linux Permission
3.1 Logging
3.1.1 Overview
3.1.2 Container Logs
3.1.3 json-file Logging Driver
3.1.4 local Logging Driver
3.1.5 journald Logging Driver
3.1.6 Setting up Default Logging Driver
3.1.7 Exercise for Container Logs
3.2 Resource Control
3.2.1 Overview
3.2.2 Mechanism for Resource Control
3.2.3 Options for CPU Resource Control
3.2.4 Options for Memory Resource Control
3.2.5 Exercise for Resource Control
3.3 About Permission and Linux Namespaces
3.3.1 Overview
3.3.2 How Docker uses Various Types of Linux Namespace
3.3.3 Exercise for Permission and Linux Namespaces
3.3.4 Brief Notes about SELinux
4. Networking
4.1 Overview
4.2 Container Networking and Network Drivers
4.3 bridge Network Driver
4.3.1 Basic Characteristics and Mechanisms
4.3.2 The default bridge Network ¡§bridge¡¨
4.3.3 Creating Custom bridge Network
4.3.4 Publish Ports
4.3.5 Exposed Port
4.3.6 Container Settings for Name Resolution
4.4 host Network Driver
4.5 null Network Driver
4.5.1 Basic Characteristics
4.6 Exercise for Container Networking
4.7 Brief Notes about Firewall Rules Generated by Docker
5. Creating a Custom Image for Your Application
5.1 Create an Image for a Single Application
5.1.1 Use an Intermediate Containers to Create an Image for Your Application
5.1.2 Use Dockerfile to Create Image for Your Application
5.2 Create an Image for Running Two Different Applications
5.2.1 Overview
5.2.2 Problems for Running two Applications in a Container
5.2.3 About Supervisor
5.2.4 Exercise for Using Supervisor
6. Docker Compose
6.1 Overview
6.2 Docker Compose Configuration File
6.2.1 YAML
6.2.2 Top Level Element version
6.2.3 Top Level Element services
6.2.4 Top Level Element volumes
6.2.5 Top Level Element networks
6.3 Docker Compose Command
6.3.1 Commonly Used Child Commands for Starting / Stopping Containers.
6.3.2 Child Commands for Preparing Containers
6.3.3 Child Commands for Maintaining a Project
6.3.4 Child Commands for Maintaining a Specific Service
6.3.5 Child Commands for Maintaining a Specific Container
6.3.6 Child Commands for General Information
6.4 Exercise for Basic Usage of Docker Compose
6.5 Scaling
6.5.1 Overview
6.5.2 Exercise for Scaling
7. Docker Context and Docker API
7.1 Overview
7.2 Accessing a Remote Docker Daemon
7.2.1 Overview
7.2.2 Through the Unix Socket of the Remote Docker Daemon
7.2.3 Configure the Remote Docker Daemon to Listen to a TCP port
7.3 Docker Context
7.3.1 Overview
7.3.2 Exercise for Setting Up / Using a Docker Context
7.4 Docker API
7.4.1 Overview
7.4.2 Exercise for Simple Illustration of Using Docker API
8. Using Docker Swarm Mode
8.1 Overview
8.2 Exercise for Simple Illustration of Using Swarm
8.3 Brief Notes About Deploying a Stack
8.4 Brief Notes about How Routing Mesh Works
8.4.1 Mechanism of Load Balancing for External Networks
8.4.2 Mechanism of Load Balancing within a Custom Overlay Network
Appendix 1 : Basic Installation and Setup
- Installing VMware Workstation Player
- Installing CentOS (Using CentOS Stream 9 as example)
- Installing / Setup SSH Tools
- Installing Docker
- Create another VM by Cloning (Optional)
- About Assigning a Static IP Addresss (Optional)
- Cleaning Up after Finishing Exercises in Each Chapter (Optional)
Appendix 2 : Brief Notes about Image ID, Diff ID, Chain ID and Cache ID
Appendix 3 : docker-squash
- Installing python-squash
- Preparing an Image for Squashing
- Squashing the Image
|