Create Docker Container with Flask Seaborn Regression Plot App

Brought by: Coursera

Overview

Often a software application developed on one platform will not run on another because of software environment differences. Sometimes it can happen when an operating system is updated, for example. Suddenly an application starts to fail. Containers solve that problem by creating a controlled environment in which to run the application, separate from the host machine’s environment. The container contains a specific version of each software package that is known to work with an application at a given point in time. Docker is an application that allows the developer to generate containers to easily build and share applications.

In this course, you will create a Docker container in which you will implement a web application using flask in a Linux environment. The application will return a regression plot of data housed in a CSV file on the server.

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

  • Create a Flask Seaborn Regression Plot App Docker Container
    • Often a software application developed on one platform will not run on another because of software environment differences. Sometimes it can happen when an operating system is updated, for example. Suddenly an application starts to fail. Containers solve that problem by creating a controlled environment in which to run the application, separate from the host machine’s environment. The container contains a specific version of each software package that is known to work with an application at a given point in time. Docker is an application that allows the developer to generate containers to easily build and share applications.


      In this course, you will create a Docker container in which you will implement a web application using flask in a Linux environment. The application will return a regression plot of data housed in a CSV file on the server.

Taught by

David Dalsveen

Create Docker Container with Flask Seaborn Regression Plot App
Go to course

Create Docker Container with Flask Seaborn Regression Plot App

Brought by: Coursera

  • Coursera
  • Paid
  • English
  • Certificate Available
  • Available at any time
  • All
  • English
8.1.2PHP Version992msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (643ms)
    • Application (347ms)
    • 1 x Booting (64.8%)
      642.69ms
      1 x Application (34.95%)
      346.66ms
      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 en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed12.97ms
      • select * from `courses` where `slug_en` = 'create-docker-container-with-flask-seaborn-regression-plot-app' limit 1
        10.99ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. create-docker-container-with-flask-seaborn-regression-plot-app
        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-07-27 18:02:23' where `id` = 2009
        850μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-07-27 18:02:23
        • 1. 2009
        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 (10)
        240μ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)
        210μ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
        240μ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
        220μ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` = 2000 limit 1
        220μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2000
        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
        DClwnBQL3wYVaO31xyMcLHJHWaGZqPqy6A1u0QZX
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/create-docker-container-with-flask-seabor...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/create-docker-container-with-flask-seaborn-regression-plot-app
        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 => "216.73.216.94" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.94" ] "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 => "965e0c208dd3a252-YYZ" ] "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" => "216.73.216.94" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.94" "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" => "965e0c208dd3a252-YYZ" "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" => "41528" "REMOTE_ADDR" => "108.162.241.69" "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" => "/en/courses/create-docker-container-with-flask-seaborn-regression-plot-app" "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" => 1753639342.4219 "REQUEST_TIME" => 1753639342 ]
        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 => "Sun, 27 Jul 2025 18:02:23 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRNYUtCV1NSelUxdzJBbGRuZVlsckE9PSIsInZhbHVlIjoieFM3dUxNNG4zYmhic2RaazVQL0dRTU4rNWhjVlNRSGpLdy9UeHoxRmhDM2x5dTdkd2Q3TDY3eVpRYnB6cXNpZGpOaWdEOWVPNDZuZVR6RC9ZWW5GTW9zV1ovd2tnR0hqM2JaUzBIaUhRU1pGNkRReE9wMUswRThOTVJVVG1idFQiLCJtYWMiOiIwYTgxY2NlZDY5ZjFhMjBjOWUxMGI0MzMwZDkxZDhkYjJmMjJlN2VjZDRkMTYwZTc2OTViMmQ2NzM2NjFmNmFmIiwidGFnIjoiIn0%3D; expires=Sun, 27 Jul 2025 20:02:23 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IkRNYUtCV1NSelUxdzJBbGRuZVlsckE9PSIsInZhbHVlIjoieFM3dUxNNG4zYmhic2RaazVQL0dRTU4rNWhjVlNRSGpLdy9UeHoxRmhDM2x5dTdkd2Q3TDY3eVpRYnB6cXNpZGpOaWdEO" 1 => "laravel_session=eyJpdiI6IlFYRGRIRVovMGFVeUgrS1VlWjVGNUE9PSIsInZhbHVlIjoiMEs0NWVFaGZXSVhZUms5U2pyNVp4N0xhUHpRMlFrWm15Sk9BUmluc3VhVEVIaDVUSEFDUzNHQjIrMnAyT0lrNm12QzFGMkcvSW9zaUxjYlIzRVZ2OEZjU0x0VDdBQ2hqbjl0VUtzekRvWmRzUkRzZjF2ME44Kzl3MkZabDg5K3UiLCJtYWMiOiI0YjU3MTc5MDQ1ZDgxNDIwYmYzYTc3YmNiMWNmMGVmNWRmMGYyMTdiNjYyOGMxM2FlNzE4ZTYwYWZjZGJjMzQ2IiwidGFnIjoiIn0%3D; expires=Sun, 27 Jul 2025 20:02:23 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IlFYRGRIRVovMGFVeUgrS1VlWjVGNUE9PSIsInZhbHVlIjoiMEs0NWVFaGZXSVhZUms5U2pyNVp4N0xhUHpRMlFrWm15Sk9BUmluc3VhVEVIaDVUSEFDUzNHQjIrMnAyT0lrNm12" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IkRNYUtCV1NSelUxdzJBbGRuZVlsckE9PSIsInZhbHVlIjoieFM3dUxNNG4zYmhic2RaazVQL0dRTU4rNWhjVlNRSGpLdy9UeHoxRmhDM2x5dTdkd2Q3TDY3eVpRYnB6cXNpZGpOaWdEOWVPNDZuZVR6RC9ZWW5GTW9zV1ovd2tnR0hqM2JaUzBIaUhRU1pGNkRReE9wMUswRThOTVJVVG1idFQiLCJtYWMiOiIwYTgxY2NlZDY5ZjFhMjBjOWUxMGI0MzMwZDkxZDhkYjJmMjJlN2VjZDRkMTYwZTc2OTViMmQ2NzM2NjFmNmFmIiwidGFnIjoiIn0%3D; expires=Sun, 27-Jul-2025 20:02:23 GMT; path=/XSRF-TOKEN=eyJpdiI6IkRNYUtCV1NSelUxdzJBbGRuZVlsckE9PSIsInZhbHVlIjoieFM3dUxNNG4zYmhic2RaazVQL0dRTU4rNWhjVlNRSGpLdy9UeHoxRmhDM2x5dTdkd2Q3TDY3eVpRYnB6cXNpZGpOaWdEO" 1 => "laravel_session=eyJpdiI6IlFYRGRIRVovMGFVeUgrS1VlWjVGNUE9PSIsInZhbHVlIjoiMEs0NWVFaGZXSVhZUms5U2pyNVp4N0xhUHpRMlFrWm15Sk9BUmluc3VhVEVIaDVUSEFDUzNHQjIrMnAyT0lrNm12QzFGMkcvSW9zaUxjYlIzRVZ2OEZjU0x0VDdBQ2hqbjl0VUtzekRvWmRzUkRzZjF2ME44Kzl3MkZabDg5K3UiLCJtYWMiOiI0YjU3MTc5MDQ1ZDgxNDIwYmYzYTc3YmNiMWNmMGVmNWRmMGYyMTdiNjYyOGMxM2FlNzE4ZTYwYWZjZGJjMzQ2IiwidGFnIjoiIn0%3D; expires=Sun, 27-Jul-2025 20:02:23 GMT; path=/; httponlylaravel_session=eyJpdiI6IlFYRGRIRVovMGFVeUgrS1VlWjVGNUE9PSIsInZhbHVlIjoiMEs0NWVFaGZXSVhZUms5U2pyNVp4N0xhUHpRMlFrWm15Sk9BUmluc3VhVEVIaDVUSEFDUzNHQjIrMnAyT0lrNm12" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "DClwnBQL3wYVaO31xyMcLHJHWaGZqPqy6A1u0QZX" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/create-docker-container-with-flask-seaborn-regression-plot-app" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]