Enhancing Learning Environments with Vagrant and Docker

Slide Note
Embed
Share

Explore the integration of Vagrant and Docker in educational settings to empower students with practical IT skills. Addressing challenges faced by archivists and librarians, these tools open new possibilities for hands-on learning through virtualization systems and portable labs. Discover how Vagrant and Docker work together to create highly portable and sandboxed development environments, offering a deeper understanding of information technologies for future professionals.


Uploaded on Sep 16, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. VAGRANT AND DOCKER VAGRANT AND DOCKER AS AS LEARNING ENVIRONMENTS LEARNING ENVIRONMENTS Christinger Tomer School of Information Sciences University of Pittsburgh November 19, 2016

  2. Technology and the Education of Archivists Technology and the Education of Archivists and Librarians and Librarians It seems reasonable to assume that the solutions to many of the challenges confronting librarians and archivists today will involve the creative use of information technologies. Yet, librarians and archivists commonly do not understand how the systems they use to provide services actually work. Most of the students currently enrolled in LIS degree programs are unlikely to enter the workforce with substantial knowledge or skills.

  3. Why Dont MLIS Students Learn More Why Don t MLIS Students Learn More about IT? about IT? Duration of most Master s programs Academic Backgrounds of Most MLIS degree students The Appliance Mentality Unimaginative Approaches to the Design of Instruction Limitations of the Computing Environments Available for Teaching and Learning

  4. New Possibilities New Possibilities through Virtualization Systems through Virtualization Systems Portable Learning Lab Support for Learning via Experimentation Exposure to Systems and Applications Outside the Mainstream of Academic and/or Enterprise Computing

  5. Vagrant and Docker Vagrant and Docker Vagrant is an open source software tool for building and maintaining highly portable virtual development environments that are sandboxed in a virtual machine. Docker is another open-source project that automates the deployment of Linux applications inside software containers. Docker uses the resource isolation features of the Linux kernel such as `cgroups` and kernel `namespaces`, and a union-capable file system such as `aufs` to allow independent "containers" to run within a single Linux instance, by design avoiding the overhead of starting and maintaining virtual machines.

  6. How Vagrant Works How Vagrant Works

  7. Elements of Vagrant Elements of Vagrant Provider, meaning a virtualization to host the Vagrant Box, e.g., VirtualBox, VMWare, Parallels, etc. Box, containing base VM image, JSON-based metadata file identifying provider, and Vagrantfile Vagrantfile, including basic configuration of the VM, base box, network and SSH setup, shared folders, provisioners, and provisioning scripts

  8. Finding a Vagrant Box via Atlas Finding a Vagrant Box via Atlas

  9. What You Can Do with Vagrant in What You Can Do with Vagrant in Instructional Settings: Five Examples Instructional Settings: Five Examples

  10. Scotch Box Scotch Box A fully configured LAMP stack, including MySQL, PostgreSQL, MongoDB, SQLite, node.js, and the Laravel framework for PHP installed and running.

  11. Islandora Islandora

  12. Islandora Islandora, Part 2 , Part 2

  13. Omeka Omeka

  14. Omeka Omeka, Part 2 , Part 2

  15. Atom Atom

  16. Heritrix Heritrix Heritrix is a Web crawler designed for Web archiving. It was written by the Internet Archive, in Java. The main interface is accessible using a Web browser; there is a command-line tool that can also be used to initiate crawls.

  17. Vagrant Share Vagrant Share Vagrant Share enables the user to share his or her VM via HTTP connections. See below. Vagrant Connect makes it possible to share access to a VM via SSH.

  18. A Shared Vagrant Instance A Shared Vagrant Instance

  19. How Docker Works How Docker Works In this illustration, Kitematic is employed to access DockerHub and run locally installed containers.

  20. Comparison: Comparison: Linux Containers Linux Containers vs. VMs vs. VMs Containers are isolated, but share OS kernel and, where appropriate, bins/libraries App B App A App A Bins/ Libs Bins/ Libs Bins/ Libs the result is faster deployment, greater disk space and memory efficiency, easier migration, security through isolation, etc. VM Guest OS Guest OS Guest OS Guest OS Guest OS App A App A App B App B App B App B Container Hypervisor (Type 2) Bins/Libs Bins/Libs Host OS Host OS Server Server

  21. Docker Hub: Build, Ship, Run Applications Docker Hub: Build, Ship, Run Applications Analytics DB Source Code Repository Docker Docker Docker Docker Docker Docker Source Linux OS Linux OS Linux OS DockerFile Prod Machine Prod Machine Prod Machine Docker Hub Infrastructure Management Physical Docker Users Collab Ship Build Provenance Policy Boot2Docker Dev Mac/Win Dev Machine Docker Docker Docker Registries Docker Docker Docker Public Curated Private VM VM VM Docker Docker Infrastructure Management Virtual Linux OS QA Docker Hub API QA Machine Third Party Tools TEST TEST Run ++ GCE RAX Azure Staging TEST TEST Cloud TEST DockerHub provides a centralized resource for container image discovery, distribution and change management, user and team collaboration, and workflow automation

  22. Four Examples of What Four Examples of What You Can Do with Docker in Instructional Docker in Instructional Settings You Can Do with Settings

  23. Apache Tomcat Apache Tomcat Apache Tomcat is a Java-based Web server. It is important in this context because it forms the basis for a number of key platforms, including DSpace, Fedora, and Islandora.

  24. DSpace DSpace DSpace is an open source repository software package typically used for creating open access repositories for scholarly and/or published digital content. Its design is focused on the long-term storage, access and preservation of digital content.

  25. File Information Tool Set (FITS) File Information Tool Set (FITS)

  26. Webmin Webmin Webmin is a Web-based system configuration tool for Unix-like systems, although recent versions can also be installed and run on Windows. Using any Web browser that supports tables and forms (and Java for the `File Manager` module), Webmin enables a user to administer a Linux or Unix system, e.g., setup user accounts, Apache, DNS, file sharing, etc., through a graphical user interface.

  27. Building Vagrant Boxes and Building Vagrant Boxes and Dockerfiles Dockerfiles Creating Vagrant Boxes from Existing Installations Creating Vagrant Boxes from Scratch with Packer Using docker build and Dockerfiles to create containers For example: docker build t = "rethinkdb"

  28. Summary and Conclusion How effective Vagrant and Docker are as teaching tools depends, in the end, on the effectiveness of instructors and the dedication of students. But it seems reasonable to imagine, as this presentation has, that Vagrant and Docker can be used as the basis for instruction that allows learners, be they Master s students or working professionals, to engage directly and easily with the platforms they use to deliver end-user services and understand how those platforms have been designed and constructed and how their administration affects an array of relevant matters, ranging from workflows to the satisfaction and the complaints of the users of such systems.

Related


More Related Content