diff --git a/README.md b/README.md index e71c96d..295ffee 100644 --- a/README.md +++ b/README.md @@ -47,13 +47,42 @@ ## Docker container -run: +run, publish port 3000: ``` docker run --name api-server-3000 --publish 3000:3000 --env CONTAINER_NAME="Awesome API server on port 3000" -d api-server ``` + +run, publish port 3001: ``` docker run --name api-server-3001 --publish 3001:3000 --env CONTAINER_NAME="Awesome API server on port 3001" -d api-server ``` +run, publish port 3002: ``` docker run --name api-server-3002 --publish 3002:3000 --env CONTAINER_NAME="Awesome API server on port 3002" -d api-server ``` + +# Media + +## Docker vs VM + +![Docker vs VM](media/docker-vs-vm.svg) + +## Docker elements + +![Docker elements](media/docker-elements.svg) + +## Dockerfile layers + +![Dockerfile layers](media/dockerfile-layers.svg) + +## Port publishing + +![Port publishing](media/port-publishing.svg) + +## Horizontal scaling + +![Horizontal scaling](media/horizontal-scaling.svg) + +## Volumes + +![Volumes](media/volumes.svg) diff --git a/media/docker-elements.svg b/media/docker-elements.svg new file mode 100644 index 0000000..21548e5 --- /dev/null +++ b/media/docker-elements.svg @@ -0,0 +1,21 @@ + + + + + + + + DockerfileImageContainerContainerContainerbuildrunrunrun:3000:3001:3002PublicRegistryPrivateRegistrypushpushpullpull \ No newline at end of file diff --git a/media/docker-vs-vm.svg b/media/docker-vs-vm.svg new file mode 100644 index 0000000..02a373e --- /dev/null +++ b/media/docker-vs-vm.svg @@ -0,0 +1,21 @@ + + + + + + + + DockerHost OSHypervisorInfrastructureInfrastructureDockercontainerDockercontainerDockercontainerDockercontainerDockercontainerVMGuest OSApplicationVMGuest OSApplicationVMGuest OSApplicationVMGuest OSApplicationDocker vs VM \ No newline at end of file diff --git a/media/dockerfile-layers.svg b/media/dockerfile-layers.svg new file mode 100644 index 0000000..bc700f1 --- /dev/null +++ b/media/dockerfile-layers.svg @@ -0,0 +1,21 @@ + + + + + + + + Layer Layer Layer Layer Layer Base image FROM python:3.11-slim-bookwormENV \ PATH=/venv/bin:$PATHWORKDIR /appCOPY ./app .RUN \ python -m venv /venv && \ pip install -r requirements.txtENTRYPOINT ["/app/run.sh"]Dockerfile \ No newline at end of file diff --git a/media/horizontal-scaling.svg b/media/horizontal-scaling.svg new file mode 100644 index 0000000..9472308 --- /dev/null +++ b/media/horizontal-scaling.svg @@ -0,0 +1,21 @@ + + + + + + + + HAProxynginx...ContainerContainerContainer:3000:3001:3002:80Horizontal scaling \ No newline at end of file diff --git a/media/port-publishing.svg b/media/port-publishing.svg new file mode 100644 index 0000000..76731d0 --- /dev/null +++ b/media/port-publishing.svg @@ -0,0 +1,21 @@ + + + + + + + + ApplicationPort publishing0.0.0.0:3000localhost:8000--publish 8000:3000Docker containerHost \ No newline at end of file diff --git a/media/volumes.svg b/media/volumes.svg new file mode 100644 index 0000000..25c467e --- /dev/null +++ b/media/volumes.svg @@ -0,0 +1,21 @@ + + + + + + + + ContainerContainer├── app│   ├── log│   │   └── api-server.log│   ├── main.py│   ├── requirements.txt│   └── run.sh├── app│   ├── log│   │   └── api-server.log│   ├── main.py│   ├── requirements.txt│   └── run.shHost/var/log/api-server--volume /var/log/api-server:/app/logVolumes \ No newline at end of file