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 Version296msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (187ms)
    • Application (108ms)
    • 1 x Booting (63.38%)
      187.46ms
      1 x Application (36.37%)
      107.58ms
      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 executed6.74ms
      • select * from `courses` where `slug_ar` = 'docker-essentials-&-building-a-containerized-web-application' limit 1
        5.04ms/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-05-29 01:40:40' where `id` = 1829
        670μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-05-29 01:40:40
        • 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)
        200μ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)
        140μ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
        170μ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
        160μ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
        360μ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
        QSPLkjSzz6IQ2F5iv7cG1Zvucx0EakPhW0R3Lpss
        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 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "52.15.191.6" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "52.15.191.6" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "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" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "947248f35f4ceb01-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "52.15.191.6" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "52.15.191.6" "HTTP_SEC_FETCH_SITE" => "none" "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_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "947248f35f4ceb01-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => "46634" "REMOTE_ADDR" => "172.71.255.55" "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" => 1748482839.8226 "REQUEST_TIME" => 1748482839 ]
        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 => "Thu, 29 May 2025 01:40:40 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ing2Q1k5c0IrVXl0QkU3VE5JQlNhQ2c9PSIsInZhbHVlIjoicmJhNXRocG1SNCtROVE3WXZOblR6NGRmNkN2L2lPYllGR3RZczFqd21NVkV1c2hSZU9iSEhsbmxUTm5tYWUxa2FKcTIxMlNVaGhNVnNvQ3F3L0xtZnlZYUV0MkJXNEFRTGs2YVVKc09JSzVpTWQ0Tnl5aVdKUmpkN3VnTDAwdDUiLCJtYWMiOiIwZjE4ODEzMGIwMDE2MTI2MGUxMWU1MmIxNWQ1OWMxYTRjY2Q2MTIzMmY1NmMzYzQwMjJiYjE5ZTA2MGY1Yzk2IiwidGFnIjoiIn0%3D; expires=Thu, 29 May 2025 03:40:40 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ing2Q1k5c0IrVXl0QkU3VE5JQlNhQ2c9PSIsInZhbHVlIjoicmJhNXRocG1SNCtROVE3WXZOblR6NGRmNkN2L2lPYllGR3RZczFqd21NVkV1c2hSZU9iSEhsbmxUTm5tYWUxa2FKcTIxM" 1 => "laravel_session=eyJpdiI6ImN1YWlmVm01cmF4dDZFZHFpYkZ0SVE9PSIsInZhbHVlIjoiZnZFVHZRVk5IdmNlcTNnQXU0V1ZjQXhVcGp5c1dRQjR6aExFelhWTm4vdUEySkQwK3pjVmlmY3Q1U0pHT01sVUpqZnZrVTBlQjNqV0xiSlpHOTFIc1VUTitJZ0RvbW1HZkpVQzJGM0pMMDV5aDhHeERqRG9kck1rNFU5anpGZXIiLCJtYWMiOiI5MDI5ZjI4MmFlOTRhMDM4ZGY2N2RmNTNlNDY5ZTQ0YjVjYjVhNTAwZjM3NDljN2MwNGFmYzdhMzFiOGM4MmEzIiwidGFnIjoiIn0%3D; expires=Thu, 29 May 2025 03:40:40 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImN1YWlmVm01cmF4dDZFZHFpYkZ0SVE9PSIsInZhbHVlIjoiZnZFVHZRVk5IdmNlcTNnQXU0V1ZjQXhVcGp5c1dRQjR6aExFelhWTm4vdUEySkQwK3pjVmlmY3Q1U0pHT01sVUpq" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ing2Q1k5c0IrVXl0QkU3VE5JQlNhQ2c9PSIsInZhbHVlIjoicmJhNXRocG1SNCtROVE3WXZOblR6NGRmNkN2L2lPYllGR3RZczFqd21NVkV1c2hSZU9iSEhsbmxUTm5tYWUxa2FKcTIxMlNVaGhNVnNvQ3F3L0xtZnlZYUV0MkJXNEFRTGs2YVVKc09JSzVpTWQ0Tnl5aVdKUmpkN3VnTDAwdDUiLCJtYWMiOiIwZjE4ODEzMGIwMDE2MTI2MGUxMWU1MmIxNWQ1OWMxYTRjY2Q2MTIzMmY1NmMzYzQwMjJiYjE5ZTA2MGY1Yzk2IiwidGFnIjoiIn0%3D; expires=Thu, 29-May-2025 03:40:40 GMT; path=/XSRF-TOKEN=eyJpdiI6Ing2Q1k5c0IrVXl0QkU3VE5JQlNhQ2c9PSIsInZhbHVlIjoicmJhNXRocG1SNCtROVE3WXZOblR6NGRmNkN2L2lPYllGR3RZczFqd21NVkV1c2hSZU9iSEhsbmxUTm5tYWUxa2FKcTIxM" 1 => "laravel_session=eyJpdiI6ImN1YWlmVm01cmF4dDZFZHFpYkZ0SVE9PSIsInZhbHVlIjoiZnZFVHZRVk5IdmNlcTNnQXU0V1ZjQXhVcGp5c1dRQjR6aExFelhWTm4vdUEySkQwK3pjVmlmY3Q1U0pHT01sVUpqZnZrVTBlQjNqV0xiSlpHOTFIc1VUTitJZ0RvbW1HZkpVQzJGM0pMMDV5aDhHeERqRG9kck1rNFU5anpGZXIiLCJtYWMiOiI5MDI5ZjI4MmFlOTRhMDM4ZGY2N2RmNTNlNDY5ZTQ0YjVjYjVhNTAwZjM3NDljN2MwNGFmYzdhMzFiOGM4MmEzIiwidGFnIjoiIn0%3D; expires=Thu, 29-May-2025 03:40:40 GMT; path=/; httponlylaravel_session=eyJpdiI6ImN1YWlmVm01cmF4dDZFZHFpYkZ0SVE9PSIsInZhbHVlIjoiZnZFVHZRVk5IdmNlcTNnQXU0V1ZjQXhVcGp5c1dRQjR6aExFelhWTm4vdUEySkQwK3pjVmlmY3Q1U0pHT01sVUpq" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "QSPLkjSzz6IQ2F5iv7cG1Zvucx0EakPhW0R3Lpss" "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" => [] ]