Junior
Ի՞նչ փորձ ունեք Docker-ով:
sobes.tech AI
Պատասխան AI-ից
Ավելին 5 տարվա ակտիվ օգտագործում Docker տարբեր նախագծերում:
Փորձը ներառում է՝
- Dockerfile մշակում: Օպտիմիզացված և բազմափուլային Dockerfile-ների ստեղծում հավելվածների պատկերների համար (վեբ, միկրոսերվիսներ, տվյալների բազաներ և այլն):
- Պատկերների կառավարում: Աշխատանք Docker Hub-ով, մասնավոր պահոցներով (GitLab Registry, Nexus), տեգավորում, տարբերակավորում, անօգտագործվող պատկերների մաքառում:
- Կոնտեյներների աշխատանք: Աշխատանք, կանգնեցում, վերագործարկում, վիճակի մոնիտորինգ, լոգների դիտում, հրամաններ կատարում կոնտեյների ներսում (
docker exec): - Docker Compose: Օգտագործում բազմակոնտեյներային հավելվածների սահմանման և գործարկման համար, ծառայությունների օրգեստրացիա, ցանցերի և տոմների կառավարում:
- Docker ցանցեր: Տարբեր ցանցային վարորդների (bridge, host, overlay) հասկանում և կարգավորում, օգտագործողի սահմանած ցանցեր ծառայությունների մեկուսացման համար:
- Docker տոմներ: Անվանումով տոմների և bind mounts-ների օգտագործում տվյալների պահպանման, ֆայլերի փոխանակման համար հոստի և կոնտեյների միջև:
- Docker անվտանգության հիմունքներ: Կոնտեյներների մեկուսացման հիմնական սկզբունքների հասկանում, rootless Docker- ի օգտագործում (որտեղ հնարավոր է), պատկերների սքանավորում թերությունների համար:
- CI/CD ինտեգրում: Docker պատկերների հավաքում և հրապարակում CI/CD պլաններում (Jenkins, GitLab CI, GitHub Actions):
- Օրգեստրացիա (հիմնական գիտելիքներ): Kubernetes-ի աշխատանքային սկզբունքների ընդհանուր հասկանում (կոնտեյներների տեղադրում, պոդեր, ռեպլիկացիաներ, ծառայություններ), փորձ՝ պարզ հավելվածներ minikube/Kind-ում փորձարկելու համար:
Docker Compose օգտագործման օրինակներ:
# docker-compose.yaml
version: '3.8'
services:
app:
build: . # Կոնտեյներ ստեղծում ընթացիկ ֆայլից
ports:
- "80:80" # Հոսքի փոխանցում հոստից կոնտեյների 80 պորտին
environment:
DATABASE_URL: postgres://user:password@db:5432/mydatabase # շրջակա միջավայրի փոփոխականներ
depends_on:
- db # կախվածություն db ծառայությունից
db:
image: postgres:14 # Ստանդարտ postgres պատկեր օգտագործում
volumes:
- db_data:/var/lib/postgresql/data # Տրամադրող տոմ
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydatabase
volumes:
db_data: # Անվանումով տոմ սահմանում