vault backup: 2025-06-29 12:43:12
This commit is contained in:
@@ -2,3 +2,13 @@ Endpoint for increasing balance
|
||||
Endpoint for reserving ticket(s) + updating transportation remaining count + adding transaction
|
||||
Endpoint for getting seats + seeing if each is reserved or not
|
||||
Creating and sending a pdf downloadable ticket
|
||||
|
||||
|
||||
|
||||
### ⚠ Important Tip
|
||||
|
||||
If your `agent.ts` uses `useAuthStore().token` **at the top level**, remember:
|
||||
|
||||
- On very first load, Zustand will **rehydrate** from storage _after_ initial render, so token may be `null` until rehydration is done.
|
||||
|
||||
- Fix: either delay access until after `hasHydrated`, or refactor `agent` to inject token per request.
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
|
||||
|
||||
# Docker?
|
||||
|
||||
# Container?
|
||||
A way to package application with everything they need inside the package. that package is portable and can be shared and moved around.
|
||||
|
||||
The place of containers? they live in a **container repository**
|
||||
Some companies have private repositories
|
||||
There is a public repository for Docker: DockerHub
|
||||
|
||||
# How Containers Helped?
|
||||
Before container, people had to install all the things stuff
|
||||
Problems: Installation process is different on different OS. There are many steps for installing applications and this is prone to errors
|
||||
With Container: You do not have to install anything
|
||||
The container is in its own isolated environment.
|
||||
everything needed is packaged with all needed configuration.
|
||||
the download is just one command
|
||||
You can also some 2 different versions of the same app
|
||||
|
||||
|
||||
## Deployment:
|
||||
before:
|
||||
people would produce artificats with a set of instructions on how to do it.
|
||||
you would have a jar file or stuff
|
||||
development would give it to operators and all
|
||||
problem: you need to install everything...
|
||||
misunderstandings...
|
||||
after:
|
||||
No envioronmental configuration needed on server - except docker runtime
|
||||
|
||||
# Container:
|
||||
## Layers of images
|
||||
## Mostly Linux Base Image, because small in size (alpine)
|
||||
## Application image on top
|
||||
|
||||
# Docker Image vs Container
|
||||
Image: actual package. artifact that can be moved around
|
||||
Container: actually start the application. container envioronment is created
|
||||
|
||||
# Docker vs VM?
|
||||
|
||||
Docker works on OS level.
|
||||
|
||||
OS Layers: OS Kernel -> Application
|
||||
|
||||
Docker: virtualizes the application layer
|
||||
VM: virtualizes OS Kernel as well
|
||||
|
||||
Size of docker images are much smaller
|
||||
Speed of docker is much faster
|
||||
Compatibility: VM of any OS can be run on any other... there should be kernel compatibility.
|
||||
Need to use docker DESKTOP
|
||||
|
||||
# Docker Installation
|
||||
# Image vs Container
|
||||
|
||||
|
||||
Container is a running environment for IMAGE
|
||||
Container: File System, Environment configs, application image(postgres, radis, mongo)
|
||||
Container has a port binded.
|
||||
The file system in Container is virtual
|
||||
|
||||
All the artificts in docker hub are images, not containers
|
||||
|
||||
|
||||
Running an image will create a container I guess.
|
||||
|
||||
|
||||
docker ps -> list containers
|
||||
|
||||
docker run -> start new container with a command
|
||||
|
||||
docker stop CONTAINER_ID
|
||||
docker start CONTAINER_ID
|
||||
|
||||
docker ps -a => will show all, running or not running
|
||||
|
||||
|
||||
How to use different versions of stuff
|
||||
Run the containers with different versions
|
||||
|
||||
# Container Port vs Host port:
|
||||
|
||||
# Binding between laptop and container port:
|
||||
during the run command =>
|
||||
docker run -pHOSTPORT:CONTAINERPORT
|
||||
|
||||
|
||||
# Debugging Containers
|
||||
|
||||
docker run -d -p
|
||||
|
||||
docker logs CONTAINER_ID/NAME
|
||||
|
||||
you can give names to containers, or some random thing is given
|
||||
|
||||
|
||||
docker exec -it [CONTAINERID/NAME] /bin/bash
|
||||
(interactive terminal)
|
||||
use exit to exit
|
||||
|
||||
|
||||
# Demo
|
||||
|
||||
## Docker Network
|
||||
MongoDb - MongoExpress
|
||||
Those packages in the same isolated docker network can connect directly to each othe or something
|
||||
|
||||
|
||||
docker network ls
|
||||
|
||||
## Creating docker network
|
||||
docker network create mongo-network
|
||||
docker run -p ... : .... -d [userpass... view documentation on docker hub] -net mongo-network
|
||||
mongo
|
||||
|
||||
## Error:
|
||||
```
|
||||
deploying WSL2 distributions
|
||||
ensuring main distro is deployed: deploying "docker-desktop": importing WSL distro "Failed to configure network (networkingMode Nat). To disable networking, set `wsl2.networkingMode=None` in C:\\Users\\LENOVO\\.wslconfig\r\nError code: Wsl/Service/RegisterDistro/CreateVm/ConfigureNetworking/HNS/0xffffffff\r\n" output="docker-desktop": exit code: 4294967295: running WSL command wsl.exe C:\WINDOWS\System32\wsl.exe --import docker-desktop <HOME>\AppData\Local\Docker\wsl\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: Failed to configure network (networkingMode Nat). To disable networking, set `wsl2.networkingMode=None` in <HOME>\.wslconfig
|
||||
Error code: Wsl/Service/RegisterDistro/CreateVm/ConfigureNetworking/HNS/0xffffffff
|
||||
: exit status 0xffffffff
|
||||
checking if isocache exists: CreateFile \\wsl$\docker-desktop-data\isocache\: The network name cannot be found.
|
||||
```
|
||||
|
||||
|
||||
save
|
||||
|
||||
```
|
||||
[wsl2]
|
||||
networkingMode=None
|
||||
```
|
||||
in Users/Lenovo as .wslconfig
|
||||
|
||||
|
||||
# Compose
|
||||
```
|
||||
version:'3'
|
||||
services:
|
||||
name:
|
||||
image:[image]
|
||||
ports:
|
||||
- HOST:CONTAINER
|
||||
environment:
|
||||
- SOMETHING=value
|
||||
mongodb:
|
||||
image:mongo
|
||||
ports:
|
||||
- 27017:27017
|
||||
environment:
|
||||
- MONGO..._USERNAME=admin
|
||||
|
||||
```
|
||||
Docker compose handles the same network thing
|
||||
Indentation is important
|
||||
|
||||
|
||||
```
|
||||
docker-compose -f ... up/down
|
||||
```
|
||||
|
||||
|
||||
# Dockerfile
|
||||
dockerfile -> image
|
||||
|
||||
copy artifacts (jar, war, bundle.js)
|
||||
|
||||
blueprint for building images
|
||||
|
||||
```
|
||||
FROM node
|
||||
(Alternative to the one in the docker compose file... that one is better)
|
||||
ENV ...=...
|
||||
...=...
|
||||
|
||||
(Directory is built INSIDE of a container)
|
||||
RUN mkdir -p /home/app
|
||||
|
||||
(This one is on HOST)
|
||||
COPY ./home/app
|
||||
|
||||
CMD ["node", "server.js"]
|
||||
```
|
||||
|
||||
The name MUST be: Dockerfile
|
||||
Reference in New Issue
Block a user