Docker Essentials & Building a Containerized Web Application

بواسطة: Coursera

Overview

This is a 2-hour long project-based course and the most comprehensive one about Docker Containers. By the end of this project, you will have packaged, built, and deployed a static web application using Docker. Along the way, you will also learn the essential concepts and commands about Docker containers. Apart from demystifying the Docker landscape, it'll prepare you with hands-on experience for building and containerizing your own applications.

Even if you have no prior experience with containers, this project should be all you need to:
- Get started with Docker containers & related concepts.
- Deep-dive to get your hands dirty with Docker command-line.
- Emerge as someone who knows how to use Docker and build containerized applications.

Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.

Syllabus

  • Project Overview
    • This is the most comprehensive project-based Docker course that introduces you to the most important Docker topics. By the end of this project, you will have packaged, built, and deployed a static web application using Docker. Along the way, you will also learn the essential concepts and commands about Docker containers. Apart from demystifying the Docker landscape, this will prepare you with hands-on experience for building and containerizing your own applications.

Taught by

Prasanjit Singh

Docker Essentials & Building a Containerized Web Application
الذهاب الي الدورة

Docker Essentials & Building a Containerized Web Application

بواسطة: Coursera

  • Coursera
  • مدفوعة
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • beginner
  • English
8.1.2PHP Version317msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (199ms)
    • Application (117ms)
    • 1 x Booting (62.77%)
      198.80ms
      1 x Application (36.99%)
      117.14ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed7.84ms
      • select * from `courses` where `slug_ar` = 'docker-essentials-&-building-a-containerized-web-application' limit 1
        5.69ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. docker-essentials-&-building-a-containerized-web-application
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-04-08 09:35:34' where `id` = 1829
        620μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-08 09:35:34
        • 1. 1829
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (99)
        380μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        290μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `institutions` where `institutions`.`id` in (106) and `institutions`.`deleted_at` is null
        290μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        280μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 1820 limit 1
        290μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1820
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        Sif5v3IUtmmt2TzlLVPoqHnFMdyK6JxQszd8HtW0
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/docker...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/docker-essentials-&-building-a-containerized-web-application
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "18.220.95.176" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "18.220.95.176" ] "cf-ray" => array:1 [ 0 => "92d0c67a9813e7f9-ORD" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "18.220.95.176" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "18.220.95.176" "HTTP_CF_RAY" => "92d0c67a9813e7f9-ORD" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "52150" "REMOTE_ADDR" => "172.70.100.183" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/docker-essentials-&-building-a-containerized-web-application" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1744104933.783 "REQUEST_TIME" => 1744104933 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Tue, 08 Apr 2025 09:35:34 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImR1VFBta1JkKzkxL0xVbjR2Nmp3Y0E9PSIsInZhbHVlIjoiM1NkeFJBUW5UWGRpWkZ3MURWbXJ4VTRXZHF0UTFQUWtLVDNYaVZtZ21PVUpUMVJQRVllZ0ZyRkJkNHo4amdGc2pMaGN1eG1CQ09LOGNpb1ZSaU9USDJob04xT2ZXUzY1ODdMQnlvSTU2WHgydWxVTW1QM0wraGZzOWt3LzBVVXEiLCJtYWMiOiJjZDU5MzgwNDM5ZDhkMmQ1ODQ0NzY0MmVkYWM4NGQ2ZDY3ZmQ4NTA0ZDNmMDg5MTc4ZTAzNmZkNmIxMjkxMjQzIiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 11:35:34 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImR1VFBta1JkKzkxL0xVbjR2Nmp3Y0E9PSIsInZhbHVlIjoiM1NkeFJBUW5UWGRpWkZ3MURWbXJ4VTRXZHF0UTFQUWtLVDNYaVZtZ21PVUpUMVJQRVllZ0ZyRkJkNHo4amdGc2pMaGN1e" 1 => "laravel_session=eyJpdiI6IjVNZFU3OXdvWUpYZmRUSDFESXNBOVE9PSIsInZhbHVlIjoiYkhOYzluMFZFTmZJeVRGQWVUMnlHQnpiRlRNR25vMXRLbmJDMTc4TmhhUEtWTVRIdmROaGtPV3g4M3dKSG1SdzNJNnRKb1BGN0duazFhMXlQOS9QR2hWMUZsOGxkSDlpOU5PU3pvY2VQNkU1bUVwOFRLOThsNU1Dc20yNGUySEUiLCJtYWMiOiJlNWVkNzNlMWQ3M2U4NDcyMzFjN2ZiMTRjOTdjZGIwNThiYTJmNDY5ODllNmY4MzA0YmEzM2JiOTRjNDQ4M2EwIiwidGFnIjoiIn0%3D; expires=Tue, 08 Apr 2025 11:35:34 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IjVNZFU3OXdvWUpYZmRUSDFESXNBOVE9PSIsInZhbHVlIjoiYkhOYzluMFZFTmZJeVRGQWVUMnlHQnpiRlRNR25vMXRLbmJDMTc4TmhhUEtWTVRIdmROaGtPV3g4M3dKSG1SdzNJ" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImR1VFBta1JkKzkxL0xVbjR2Nmp3Y0E9PSIsInZhbHVlIjoiM1NkeFJBUW5UWGRpWkZ3MURWbXJ4VTRXZHF0UTFQUWtLVDNYaVZtZ21PVUpUMVJQRVllZ0ZyRkJkNHo4amdGc2pMaGN1eG1CQ09LOGNpb1ZSaU9USDJob04xT2ZXUzY1ODdMQnlvSTU2WHgydWxVTW1QM0wraGZzOWt3LzBVVXEiLCJtYWMiOiJjZDU5MzgwNDM5ZDhkMmQ1ODQ0NzY0MmVkYWM4NGQ2ZDY3ZmQ4NTA0ZDNmMDg5MTc4ZTAzNmZkNmIxMjkxMjQzIiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 11:35:34 GMT; path=/XSRF-TOKEN=eyJpdiI6ImR1VFBta1JkKzkxL0xVbjR2Nmp3Y0E9PSIsInZhbHVlIjoiM1NkeFJBUW5UWGRpWkZ3MURWbXJ4VTRXZHF0UTFQUWtLVDNYaVZtZ21PVUpUMVJQRVllZ0ZyRkJkNHo4amdGc2pMaGN1e" 1 => "laravel_session=eyJpdiI6IjVNZFU3OXdvWUpYZmRUSDFESXNBOVE9PSIsInZhbHVlIjoiYkhOYzluMFZFTmZJeVRGQWVUMnlHQnpiRlRNR25vMXRLbmJDMTc4TmhhUEtWTVRIdmROaGtPV3g4M3dKSG1SdzNJNnRKb1BGN0duazFhMXlQOS9QR2hWMUZsOGxkSDlpOU5PU3pvY2VQNkU1bUVwOFRLOThsNU1Dc20yNGUySEUiLCJtYWMiOiJlNWVkNzNlMWQ3M2U4NDcyMzFjN2ZiMTRjOTdjZGIwNThiYTJmNDY5ODllNmY4MzA0YmEzM2JiOTRjNDQ4M2EwIiwidGFnIjoiIn0%3D; expires=Tue, 08-Apr-2025 11:35:34 GMT; path=/; httponlylaravel_session=eyJpdiI6IjVNZFU3OXdvWUpYZmRUSDFESXNBOVE9PSIsInZhbHVlIjoiYkhOYzluMFZFTmZJeVRGQWVUMnlHQnpiRlRNR25vMXRLbmJDMTc4TmhhUEtWTVRIdmROaGtPV3g4M3dKSG1SdzNJ" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "Sif5v3IUtmmt2TzlLVPoqHnFMdyK6JxQszd8HtW0" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/docker-essentials-&-building-a-containerized-web-application" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]