<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="35267" language="fr" source="https://portal.flane.ch/swisscom/fr/xml-course/hewlettpackard-h0ds3s" lastchanged="2025-01-09T09:25:32+01:00" parent="https://portal.flane.ch/swisscom/fr/xml-courses"><title>Docker (GL340)</title><productcode>H0DS3S</productcode><vendorcode>HP</vendorcode><vendorname>HP</vendorname><fullproductcode>HP-H0DS3S</fullproductcode><version>1.0</version><essentials>&lt;ul&gt;
&lt;li&gt;Proficiency with the Linux CLI&lt;/li&gt;&lt;li&gt;A broad understanding of Linux system administration&lt;/li&gt;&lt;/ul&gt;</essentials><contents>&lt;p&gt;Container Technology Overview
Installing Docker
Managing Containers
Managing Images
Creating Images with Dockerfile
Docker Volumes
Docker Compose/Swarm
Docker Networking
Docker Logging&lt;/p&gt;</contents><outline>&lt;h5&gt;Container Technology Overview &lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Application management landscape&lt;/li&gt;&lt;li&gt;Application isolation&lt;/li&gt;&lt;li&gt;Resource measurement and control&lt;/li&gt;&lt;li&gt;Container security&lt;/li&gt;&lt;li&gt;OverlayFS overview&lt;/li&gt;&lt;li&gt;Container security&lt;/li&gt;&lt;li&gt;Open container initiative&lt;/li&gt;&lt;li&gt;Docker alternatives&lt;/li&gt;&lt;li&gt;Docker ecosystem&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Container concepts runC&lt;/li&gt;&lt;li&gt;Container concepts Systemd&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Installing Docker&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Installing Docker&lt;/li&gt;&lt;li&gt;Docker architecture&lt;/li&gt;&lt;li&gt;Starting the Docker daemon&lt;/li&gt;&lt;li&gt;Docker daemon configuration&lt;/li&gt;&lt;li&gt;Docker control socket&lt;/li&gt;&lt;li&gt;Enabling TLS for Docker&lt;/li&gt;&lt;li&gt;Validating Docker install&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Installing Docker&lt;/li&gt;&lt;li&gt;Protecting Docker with TLS&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Managing Containers &lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Creating a new container&lt;/li&gt;&lt;li&gt;Listing containers&lt;/li&gt;&lt;li&gt;Managing container resources&lt;/li&gt;&lt;li&gt;Running commands in an existing container&lt;/li&gt;&lt;li&gt;Interacting with a running container&lt;/li&gt;&lt;li&gt;Stopping, starting, and removing containers&lt;/li&gt;&lt;li&gt;Copying files in/out of containers&lt;/li&gt;&lt;li&gt;Inspecting and updating containers&lt;/li&gt;&lt;li&gt;Docker output filtering and formatting&lt;/li&gt;&lt;li&gt;Lab Tasks&lt;/li&gt;&lt;li&gt;Managing containers&lt;/li&gt;&lt;li&gt;Configure a Docker container to start at boot&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Managing Images&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Docker images&lt;/li&gt;&lt;li&gt;Listing and removing images&lt;/li&gt;&lt;li&gt;Searching for images&lt;/li&gt;&lt;li&gt;Downloading images&lt;/li&gt;&lt;li&gt;Uploading images&lt;/li&gt;&lt;li&gt;Export/import images&lt;/li&gt;&lt;li&gt;Save/load images&lt;/li&gt;&lt;li&gt;Committing changes&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;&lt;/li&gt;&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Docker images&lt;/li&gt;&lt;li&gt;Docker platform images&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Creating Images with Dockerfile&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Dockerfile&lt;/li&gt;&lt;li&gt;Caching&lt;/li&gt;&lt;li&gt;Docker image build&lt;/li&gt;&lt;li&gt;Dockerfile instructions&lt;/li&gt;&lt;li&gt;ENV and WORKDIR&lt;/li&gt;&lt;li&gt;Running commands&lt;/li&gt;&lt;li&gt;Getting files into the image&lt;/li&gt;&lt;li&gt;Defining container executable&lt;/li&gt;&lt;li&gt;HEALTHCHECK&lt;/li&gt;&lt;li&gt;Best practices&lt;/li&gt;&lt;li&gt;Multi-stage builds with Dockerfile&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Dockerfile fundamentals&lt;/li&gt;&lt;li&gt;Optimizing image build size&lt;/li&gt;&lt;li&gt;Image builds and caching&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Docker Volumes&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Volume concepts&lt;/li&gt;&lt;li&gt;The Docker volume command&lt;/li&gt;&lt;li&gt;Creating and using internal volumes&lt;/li&gt;&lt;li&gt;Internal volume drivers&lt;/li&gt;&lt;li&gt;Removing volumes&lt;/li&gt;&lt;li&gt;Creating and using external volumes&lt;/li&gt;&lt;li&gt;SELinux considerations&lt;/li&gt;&lt;li&gt;Mapping devices&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Docker internal volumes&lt;/li&gt;&lt;li&gt;Docker external volumes&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Docker Compose/Swarm&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Writing YAML files&lt;/li&gt;&lt;li&gt;Concepts&lt;/li&gt;&lt;li&gt;Compose CLI&lt;/li&gt;&lt;li&gt;Defining a service set&lt;/li&gt;&lt;li&gt;Compose versions&lt;/li&gt;&lt;li&gt;Docker Engine swarm mode&lt;/li&gt;&lt;li&gt;Docker swarm terms&lt;/li&gt;&lt;li&gt;Docker swarm command overview&lt;/li&gt;&lt;li&gt;Creating a swarm&lt;/li&gt;&lt;li&gt;Creating services&lt;/li&gt;&lt;li&gt;Creating secrets&lt;/li&gt;&lt;li&gt;Stack files&lt;/li&gt;&lt;li&gt;Stack command&lt;/li&gt;&lt;li&gt;Swarm placements&lt;/li&gt;&lt;li&gt;Swarm resource limits and reservations&lt;/li&gt;&lt;li&gt;Swarm networking&lt;/li&gt;&lt;li&gt;Swarm networking troubleshooting&lt;/li&gt;&lt;/ul&gt;&lt;h5&gt;Docker Networking&lt;/h5&gt;&lt;ul&gt;
&lt;li&gt;Overview&lt;/li&gt;&lt;li&gt;Data link layer details&lt;/li&gt;&lt;li&gt;Network layer details&lt;/li&gt;&lt;li&gt;Hostnames and DNS&lt;/li&gt;&lt;li&gt;Service reachability&lt;/li&gt;&lt;li&gt;Container to container communication&lt;/li&gt;&lt;li&gt;Container to container: links&lt;/li&gt;&lt;li&gt;Container to container: private network&lt;/li&gt;&lt;li&gt;Managing private networks&lt;/li&gt;&lt;li&gt;Remote host to container&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Docker networking&lt;/li&gt;&lt;li&gt;Exposing ports&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h5&gt;Docker Logging&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Docker logging&lt;/li&gt;&lt;li&gt;Docker logging with json-file and journald&lt;/li&gt;&lt;li&gt;Docker logging with syslog&lt;/li&gt;&lt;li&gt;Docker logging with Graylog or Logstash&lt;/li&gt;&lt;li&gt;Docker logging with Fluentd&lt;/li&gt;&lt;li&gt;Docker logging with Amazon or Google&lt;/li&gt;&lt;li&gt;Docker logging with Splunk&lt;/li&gt;&lt;li&gt;&lt;h5&gt;Lab Tasks&lt;/h5&gt;
&lt;ul&gt;
&lt;li&gt;Logging to syslog Appendix A&lt;/li&gt;&lt;li&gt;Docker Registry Lab Tasks&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</outline><essentials_plain>- Proficiency with the Linux CLI
- A broad understanding of Linux system administration</essentials_plain><contents_plain>Container Technology Overview
Installing Docker
Managing Containers
Managing Images
Creating Images with Dockerfile
Docker Volumes
Docker Compose/Swarm
Docker Networking
Docker Logging</contents_plain><outline_plain>Container Technology Overview 


- Application management landscape
- Application isolation
- Resource measurement and control
- Container security
- OverlayFS overview
- Container security
- Open container initiative
- Docker alternatives
- Docker ecosystem
- Lab Tasks



- Container concepts runC
- Container concepts Systemd

Installing Docker


- Installing Docker
- Docker architecture
- Starting the Docker daemon
- Docker daemon configuration
- Docker control socket
- Enabling TLS for Docker
- Validating Docker install
- Lab Tasks



- Installing Docker
- Protecting Docker with TLS
Managing Containers 


- Creating a new container
- Listing containers
- Managing container resources
- Running commands in an existing container
- Interacting with a running container
- Stopping, starting, and removing containers
- Copying files in/out of containers
- Inspecting and updating containers
- Docker output filtering and formatting
- Lab Tasks
- Managing containers
- Configure a Docker container to start at boot
Managing Images


- Docker images
- Listing and removing images
- Searching for images
- Downloading images
- Uploading images
- Export/import images
- Save/load images
- Committing changes
- Lab Tasks
- - Docker images
- Docker platform images

Creating Images with Dockerfile



- Dockerfile
- Caching
- Docker image build
- Dockerfile instructions
- ENV and WORKDIR
- Running commands
- Getting files into the image
- Defining container executable
- HEALTHCHECK
- Best practices
- Multi-stage builds with Dockerfile
- Lab Tasks



- Dockerfile fundamentals
- Optimizing image build size
- Image builds and caching
Docker Volumes


- Volume concepts
- The Docker volume command
- Creating and using internal volumes
- Internal volume drivers
- Removing volumes
- Creating and using external volumes
- SELinux considerations
- Mapping devices
- Lab Tasks



- Docker internal volumes
- Docker external volumes

Docker Compose/Swarm


- Writing YAML files
- Concepts
- Compose CLI
- Defining a service set
- Compose versions
- Docker Engine swarm mode
- Docker swarm terms
- Docker swarm command overview
- Creating a swarm
- Creating services
- Creating secrets
- Stack files
- Stack command
- Swarm placements
- Swarm resource limits and reservations
- Swarm networking
- Swarm networking troubleshooting
Docker Networking


- Overview
- Data link layer details
- Network layer details
- Hostnames and DNS
- Service reachability
- Container to container communication
- Container to container: links
- Container to container: private network
- Managing private networks
- Remote host to container
- Lab Tasks



- Docker networking
- Exposing ports

Docker Logging



- Docker logging
- Docker logging with json-file and journald
- Docker logging with syslog
- Docker logging with Graylog or Logstash
- Docker logging with Fluentd
- Docker logging with Amazon or Google
- Docker logging with Splunk
- Lab Tasks



- Logging to syslog Appendix A
- Docker Registry Lab Tasks</outline_plain><duration unit="d" days="3">3 jours</duration><pricelist><price country="DE" currency="EUR">2250.00</price><price country="AT" currency="EUR">2250.00</price><price country="SI" currency="EUR">2250.00</price></pricelist><miles/></course>