Skip to content

Repository files navigation

DevOps Assignment

Name: Soham Ambore Enrollment Number: 24bcs10258

All seven homework topics, each in its own folder with its own README.md. Every command output committed here was actually executed — no output is fabricated. Each folder also contains the script that produced it and a full-transcript.txt of the unedited run, so anything can be reproduced.


Submission links

# Topic Folder README
1 Git and GitHub 01-git-github README.md
2 Linux Fundamentals 02-linux-fundamentals README.md
3 Shell Scripting 03-shell-scripting README.md
4 Networking 04-networking README.md
5 Docker Fundamentals 05-docker-fundamentals README.md
6 Docker Images 06-docker-images README.md
7 Docker Networking 07-docker-networking README.md

What each deliverable covers

1. Git and GitHub

git commit -a -m vs git commit -m demonstrated with a real failing commit, plus proof that -a silently skips untracked files. Cherry-pick performed across two branches with git log --graph showing the picked commit landing on main under a new SHA.

2. Linux Fundamentals

Run on Ubuntu 26.04 LTS (WSL2) with systemd enabled.

  • Soft vs hard links — inode numbers, link counts, and the decisive test: deleting the original leaves the hard link working and the soft link dangling.
  • adduser vs useradd — both used; useradd leaves no home directory, adduser creates home, skel files, shell and group.
  • journalctl — system logs, boot logs, per-unit logs, priority and time filters, disk usage.
  • Command cheat sheet — ~40 commands executed across navigation, files, search, permissions, processes, disk, archives and packages.

3. Shell Scripting

sysinfo.sh prints date, hostname, username, disk usage and running processes; uses variables throughout; takes input via read -p; creates a directory with mkdir and a file with touch; and writes ps -ef into that file with > redirection.

4. Networking

Every command run on Ubuntu with output and a written explanation of what it means: ip addr, ifconfig, ip route, ping, traceroute, dig, nslookup, host, ss, netstat, nc -z, curl, wget, ip neigh, arp.

5. Docker Fundamentals

Six Hello World web applications, each in its own folder with its own Dockerfile, all six built and verified HTTP 200: Node.js, Python, Java, Apache, React and Nginx.

6. Docker Images

Multi-stage Dockerfile serving "Hello World from Docker multi-stage build" on port 8080, verified with docker ps. Includes a measured comparison against a single-stage build of the same app: 441 MB → 6.87 MB, roughly 64× smaller.

7. Docker Networking

Three containers across three networks with the backend attached to two, showing frontend→database isolation failing at the DNS layer. Plus host networking with Apache, a live-reloading bind mount, and a real overlay network on an initialised Swarm with a 2-replica service.


Environment

Component Version
Host OS Windows 11
Linux Ubuntu 26.04 LTS on WSL2, kernel 6.18.33.2, systemd enabled
Docker 29.7.2 (Docker Desktop, Linux containers)
Git 2.51.1

Notes

  • Two values were redacted before publishing: the machine's public IP (in 04-networking) and a Swarm join token (in 07-docker-networking).
  • 06-docker-images documents one assumption about the source repository — see the note at the top of that README.

About

DevOps assignment: Git/GitHub, Linux, Shell Scripting, Networking, Docker Fundamentals, Docker Images (multi-stage), Docker Networking - with real captured command output

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages