# devnotops/docker architecture

> Architecture diagram of the GitHub repository devnotops/docker, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/devnotops/docker
- Repository: https://github.com/devnotops/docker

## Overview

This repository is a collection of Docker learning examples, not one integrated application. The documented workflow is to build and run a Flask example, then explore Docker volumes and MySQL persistence. Other examples demonstrate image-record uploads, PHP registration/login, and Flask/MySQL login. Source excerpts show those applications’ database operations; the README documents volume-backed MySQL, but does not identify how the static volume example is mounted. Compose and container wiring are not mapped because their contents were not provided.

Main entry points: [`mysql`](https://github.com/devnotops/docker/tree/main/mysql) (MySQL), [`project1/web2-app/config.php`](https://github.com/devnotops/docker/blob/main/project1/web2-app/config.php) (PHP DB Setup), [`project1/python-app/main.py`](https://github.com/devnotops/docker/blob/main/project1/python-app/main.py) (Image Record Uploader), [`project1/web2-app/index.php`](https://github.com/devnotops/docker/blob/main/project1/web2-app/index.php) (PHP Registration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_basics["Docker Basics"]
  node_flask_server["Greeting Flask<br/>[app.py]"]
  node_volume_example["Volume Web Example<br/>[index.html]"]
end

subgraph group_web_demos["Web Demos"]
  node_python_uploader["Image Record Uploader<br/>[main.py]"]
end

subgraph group_accounts["Account Demos"]
  node_php_register["PHP Registration<br/>[index.php]"]
  node_php_login["PHP Login<br/>[login.php]"]
  node_php_db_config["PHP DB Setup<br/>[config.php]"]
  node_flask_login["Flask Login<br/>[app.py]"]
end

subgraph group_persistence["Persistence"]
  node_mysql[("MySQL")]
end

node_learner(("Learner"))

node_learner -->|"runs example"| node_flask_server
node_learner -->|"explores volume"| node_volume_example
node_learner -->|"runs with volume"| node_mysql
node_python_uploader -->|"reads and writes"| node_mysql
node_php_register -->|"loads connection"| node_php_db_config
node_php_login -->|"loads connection"| node_php_db_config
node_php_db_config -->|"connects and creates table"| node_mysql
node_flask_login -->|"checks credentials"| node_mysql

click node_flask_server "https://github.com/devnotops/docker/blob/main/flask_server/app.py"
click node_volume_example "https://github.com/devnotops/docker/blob/main/docker_vulume/web/index.html"
click node_python_uploader "https://github.com/devnotops/docker/blob/main/project1/python-app/main.py"
click node_php_register "https://github.com/devnotops/docker/blob/main/project1/web2-app/index.php"
click node_php_login "https://github.com/devnotops/docker/blob/main/project1/web2-app/login.php"
click node_php_db_config "https://github.com/devnotops/docker/blob/main/project1/web2-app/config.php"
click node_flask_login "https://github.com/devnotops/docker/blob/main/full_docker_websrever/app.py"
click node_mysql "https://github.com/devnotops/docker/tree/main/mysql"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_flask_server,node_volume_example toneBlue
class node_python_uploader toneAmber
class node_php_register,node_php_login,node_php_db_config,node_flask_login toneMint
class node_mysql toneRose
class node_learner toneIndigo
```

## Components

### Docker Basics

- [Greeting Flask](https://github.com/devnotops/docker/blob/main/flask_server/app.py): `flask_server/app.py`
- [Volume Web Example](https://github.com/devnotops/docker/blob/main/docker_vulume/web/index.html): `docker_vulume/web/index.html`

### Web Demos

- [Image Record Uploader](https://github.com/devnotops/docker/blob/main/project1/python-app/main.py): `project1/python-app/main.py`

### Account Demos

- [PHP Registration](https://github.com/devnotops/docker/blob/main/project1/web2-app/index.php): `project1/web2-app/index.php`
- [PHP Login](https://github.com/devnotops/docker/blob/main/project1/web2-app/login.php): `project1/web2-app/login.php`
- [PHP DB Setup](https://github.com/devnotops/docker/blob/main/project1/web2-app/config.php): `project1/web2-app/config.php`
- [Flask Login](https://github.com/devnotops/docker/blob/main/full_docker_websrever/app.py): `full_docker_websrever/app.py`

### Persistence

- [MySQL](https://github.com/devnotops/docker/tree/main/mysql): `mysql`

### Other components

- **Learner**

## Connections

- Learner → Greeting Flask: runs example (evidence: `README.md`)
- Learner → Volume Web Example: explores volume (evidence: `README.md`)
- Learner → MySQL: runs with volume (evidence: `README.md`)
- Image Record Uploader → MySQL: reads and writes (evidence: `project1/python-app/main.py`)
- PHP Registration → PHP DB Setup: loads connection (evidence: `project1/web2-app/index.php`)
- PHP Login → PHP DB Setup: loads connection (evidence: `project1/web2-app/login.php`)
- PHP DB Setup → MySQL: connects and creates table (evidence: `project1/web2-app/config.php`)
- Flask Login → MySQL: checks credentials (evidence: `full_docker_websrever/app.py`)
