{"id":51519970,"url":"https://github.com/tech-at-du/acs-3220-docker-devops-deployments","last_synced_at":"2026-07-08T15:01:11.064Z","repository":{"id":115269199,"uuid":"390576746","full_name":"Tech-at-DU/ACS-3220-Docker-DevOps-Deployments","owner":"Tech-at-DU","description":"🛳 Ship all the things! Explore systems architecture, containers, development controls, uptime management, and more in this Docker-focused DevOps course.","archived":false,"fork":false,"pushed_at":"2024-09-10T21:41:00.000Z","size":4096,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-09-12T01:51:15.534Z","etag":null,"topics":["containers","devops","docker","domain-names","paas","servers"],"latest_commit_sha":null,"homepage":"https://bit.ly/acs3220","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tech-at-DU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-29T02:37:30.000Z","updated_at":"2024-09-10T21:41:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"291119f7-5672-4820-b278-167941d1a2cd","html_url":"https://github.com/Tech-at-DU/ACS-3220-Docker-DevOps-Deployments","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Tech-at-DU/ACS-3220-Docker-DevOps-Deployments","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3220-Docker-DevOps-Deployments","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3220-Docker-DevOps-Deployments/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3220-Docker-DevOps-Deployments/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3220-Docker-DevOps-Deployments/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tech-at-DU","download_url":"https://codeload.github.com/Tech-at-DU/ACS-3220-Docker-DevOps-Deployments/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tech-at-DU%2FACS-3220-Docker-DevOps-Deployments/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35268549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["containers","devops","docker","domain-names","paas","servers"],"created_at":"2026-07-08T15:01:10.157Z","updated_at":"2026-07-08T15:01:11.042Z","avatar_url":"https://github.com/Tech-at-DU.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"Images/docker.svg\" height=\"200\"\u003e\u003c/p\u003e\n\n# ACS 3220: Docker, DevOps, \u0026 Deployments\n\n\u003cspan class=\"refresh-instructions\"\u003eThis syllabus is a living document! Hold down the `SHIFT` key and press `Refresh` to get the latest version.\u003c/span\u003e\n\n\u003c!-- omit in toc --\u003e\n## Table of Contents\n\n1. [Course Description](#course-description)\n1. [Prerequisites](#prerequisites)\n1. [Course Specifics](#course-specifics)\n1. [Learning Outcomes](#learning-outcomes)\n1. [Schedule](#schedule)\n1. [Class Assignments](#class-assignments)\n   1. [Tutorials](#tutorials)\n   1. [Challenges](#challenges)\n   1. [Final Project](#final-project)\n1. [Evaluation](#evaluation)\n1. [Class Recordings](#class-recordings)\n\n## Course Description\n\nIn this course students will learn the two main flavors of Developer Operations (DevOps), one that uses containers and one that does not. Students will learn the leading container pattern with Docker and explore the pros and cons of containers by implementing them. The course will tie this pattern together with generic patterns of operation, such as environmental design, development controls, and uptime management.\n\n## Prerequisites\n\n- [ACS 1120](https://bit.ly/acs1120)\n\n## Course Specifics\n\n**Course Delivery**: online | 7 weeks | 14 sessions\u003cbr\u003e\n**Course Credits**: 3 units | 37.5 Seat Hours | 75 Total Hours\n\n## Learning Outcomes\n\n_By the end of this course, you will be able to\u0026hellip;_\n\n1. Build, deploy, and orchestrate that containers in any web-based application.\n1. Compare and contrast traditional and container-based deployment patterns.\n1. Demonstrate proficiency for professional DevOps roles.\n1. Implement and maintain a cloud infrastructure utilizing traditional DevOps techniques.\n\n## Schedule\n\n**Course Dates:** Wednesday, August 17 - Wednesday, October 5, 2022\u003cbr\u003e\n**Class Times:** Monday, Wednesday at 4:00 PM PST - 6:45 PM PST\n\n| Class |   Date   | Topic                                                                                        |     |\n|:-----:|:--------:| -------------------------------------------------------------------------------------------- | --- |\n|   1   |  Aug, 17 | [Course Orientation] \u0026 🔬 **Lab**: [Scripting in Bash]                                       |     |\n|   2   |  Aug, 22 | [How Containers Work]                                                                        |     |\n|   3   |  Aug, 24 | [Domains \u0026 DNS]                                                                              |     |\n|   4   |  Aug, 29 | [Dockerizing Web Apps] + [Dockerizing Your Web App]                                          |     |\n|   -   |  Sep, 5  | [Docker Compose] + 📝 **Lab**: [Review Worksheet]: _Containers, Orchestration, Optimization_ |     |\n|   5   |  Sep, 7  | [Domains \u0026 Droplets]                                                                         |     |\n|   6   | Sep,  12 | [Your Personal PaaS]                                                                         |     |\n|   7   |  Sep, 14 | [Alerts] + [Continuous Integration]                                                          |     |\n|   8   |  Sep, 19 | [Project Kickoff]                                                                            |     |\n|   9   |  Sep, 21 | [Advanced Container Orchestration Techniques]                                                |     |\n|   10  |  Sep, 26 | [Docker Volumes]                                                                             |     |\n|   11  |  Sep, 28 | NEW: [Docker Swarm]                                                                          |     |\n|   12  |  Oct, 3  | TBA                                                                                          |     |\n|   13  |  Oct,  5 | [Course Review]                                                                              |     |\n\n## Class Assignments\n\n### Tutorials\n\nTo access each tutorial, click the links below. Be sure to complete the exercise in your browser and follow each instruction carefully.\n\n**_Complete all five tutorials before the midterm_**:\n\n| Name                                                                                                              | Description                                                |\n| ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |\n| **Tutorial 1**: [Your First Linux Containers](https://training.play-with-docker.com/ops-s1-hello)                 | _Explore Docker fundamentals._                             |\n| **Tutorial 2**: [Deploy and Manage Multiple Containers](https://training.play-with-docker.com/ops-s1-swarm-intro) | _Scale like the pros using Swarm and Compose._             |\n| **Tutorial 3**: [Doing More with Docker Images](https://training.play-with-docker.com/ops-s1-images)              | _Create \u0026 share Docker images; examine the layers inside._ |\n| **Tutorial 4**: [Docker Networking Lab](https://training.play-with-docker.com/docker-networking-hol)              | _Hands-on practice using key Docker Networking concepts_.  |\n| **Tutorial 5**: [Docker Orchestration Lab](https://training.play-with-docker.com/orchestration-hol)               | _Hands-on practice in high-availability techniques._       |\n\n\nKnowledge gained in the tutorials will be evaluated on the [Containers, Orchestration, Optimization](https://www.gradescope.com/courses/203051/assignments/835995) worksheet as well as participation during the final [Course Review].\n\n### Challenges\n\nGain valuable real-world experience in DevOps through these hands-on activities.\n\n**_Complete all five challenges to pass the course_**:\n\n| Name                                                 | More Info                                     |\n| ---------------------------------------------------- | --------------------------------------------- |\n| **Challenge 1**: Your Own Domain Name                | [Instructions](Projects/Challenges.md)        |\n| **Challenge 2**: Connect Your Domain to GitHub Pages | [Instructions](Guides/InfiniteGithubPages.md) |\n| **Challenge 3**: Dockerize Any Flask Application     | [Instructions](Projects/Challenges.md)        |\n| **Challenge 4**: Your First Server                   | [Instructions](Projects/Challenges.md)        |\n| **Challenge 5**: Compose a Web Application           | [Instructions](Projects/Challenges.md)        |\n\n\n### Final Project\n\n**In your final project, you'll add the following features to an existing codebase of your choosing**:\n\n- **Develop** a `Dockerfile` and `docker-compose.yml` file that successfully deploys any web application or open source project.\n- **Deploy** your application's image to your own cloud production server.\n- **Monitor** your application’s uptime using a health check.\n- **Demonstrate** confidence writing and speaking about Docker, DevOps, and deployment topics by summarizing the experience in a blog post.\n\n**_Review the [Requirements Document](Projects/FinalProject.md) to learn more about the project, including_**:\n\n- [⭐️ Project Goals](#%e2%ad%90%ef%b8%8f-project-goals)\n- [📋 Project Requirements](#%f0%9f%93%8b-project-requirements)\n- [🗓 Deliverables \u0026 Due Dates](#%f0%9f%97%93-deliverables--due-dates)\n  - 2️⃣ **Blog Post**: Due Last Day of Class @ 11:59pm\n  - 3️⃣ **Repository**: Due Last Day of Class @ 11:59pm\n\n## Evaluation\n\n**To pass this course, you must**:\n\n- **Complete all five tutorials** listed in the [**Tutorials**](#tutorials) section.\n- **Complete all five DevOps challenges** listed in the [**Challenges**](#challenges) section; each submitted on [Gradescope] when complete.\n  - URL-based deliverables must return a valid response to earn full credit.\n  - Docker-based deliverables that successfully build and run to earn full credit.\n- **Submit a [final project](Projects/FinalProject.md) on [Gradescope]** and pass according to the [rubric](Projects/FinalProject.md#rubric).\n- Actively **participate in class** and **abide by the attendance policy**.\n- **Make up all classwork** from all absences.\n\n## Class Recordings\n\nAll class recordings will be available [here](https://bit.ly/droxey-vids) no later than 24 hours after the class session. For privacy reasons, please do not share the recordings outside of the ACS student body.\n\n[Alerts]: Lessons/Alerts.md\n[Architecture Diagrams]: Lessons/Diagrams.md\n[Code Once, Run Anywhere]: Lessons/Containers.md\n[Continuous Integration]: https://docs.google.com/presentation/d/18DNt9UXHaPUufQogj-mThiKpvhkJzXprnPmQtaptUp8\n[Course Orientation]: Lessons/CourseOrientation.md\n[Docker Compose]: Lessons/Compose.md\n[Docker Hub]: Lessons/Hub.md\n[Docker Swarm]: Lessons/Swarm.md\n[Dockerizing Web Apps]: Lessons/WebServers.md\n[Dockerizing Your Web App]: Lessons/WebServers.md#60m--lab-writing-dockerfiles\n[Domains \u0026 DNS]: Lessons/DNS.md\n[Domains \u0026 Droplets]: Lessons/Droplets.md\n[Final Presentations]: Projects/FinalProject.md#Deliverables\n[Final Project]: Projects/FinalProject.md\n[Gradescope]: https://www.gradescope.com/courses/203051\n[How Containers Work]: Lessons/Dockerfiles.md\n[Multi-Stage Builds]: Lessons/Builds.md\n[Networking]: Lessons/Networking.md\n[Project Kickoff]: Projects/FinalProject.md\n[Review Worksheet]: https://www.gradescope.com/courses/203051/assignments/835995\n[Scripting in Bash]: https://github.com/veltman/clmystery\n[Security]: Lessons/Security.md\n[Volumes]: Lessons/Volumes.md\n[Your Personal PaaS]: Lessons/PaaS.md\n[Docker Volumes]: Lessons/Volumes.md\n[Advanced Container Orchestration Techniques]: Lessons/AdvancedOrchestration.md\n[Course Review]: Lessons/CourseReview.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-at-du%2Facs-3220-docker-devops-deployments","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftech-at-du%2Facs-3220-docker-devops-deployments","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftech-at-du%2Facs-3220-docker-devops-deployments/lists"}