CodeGym /Kurslar /Docker SELF /İlk konteynerin yaradılması

İlk konteynerin yaradılması

Docker SELF
Səviyyə , Dərs
Mövcuddur

1.1 docker run komandası

Docker konteynerlərin yaradılması, işə salınması və idarə edilməsi üçün güclü alətlər təqdim edir. Docker-də ən vacib komandalarından biri docker run-dur, bu, mövcud image-lərə əsaslanaraq yeni konteynerlərin işə salınmasına imkan verir. Bu mühazirədə docker run komandasından istifadə edərək ilk konteynerinizi necə yaradıb işə salacağınızı ətraflı şəkildə nəzərdən keçirəcəyik, həmçinin bu komandanın daha mürəkkəb nümunələrini də öyrənəcəyik.

docker run komandası Docker image-lərindən konteyner yaratmaq və işə salmaq üçün istifadə olunur. Bu ən çox istifadə olunan komandalardan biridir və konteynerin davranışını tənzimləməyə imkan verən bir çox opsiyaya malikdir.

docker run komandasının əsas sintaksisi aşağıdakı kimi görünür:


docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Burada:

  • OPTIONS: Konteynerin tənzimlənməsi üçün parametrlər (məsələn, portlar, həcmlər, mühit dəyişənləri).
  • IMAGE: Konteynerin yaradılacağı image-in adı.
  • COMMAND: Konteynerin içində yerinə yetiriləcək komanda.
  • ARG...: Komanda üçün arqumentlər.

docker run istifadə üçün sadə nümunə

docker run komandasının necə işlədiyini başa düşmək üçün sadə bir nümunədən başlayaq.

Terminal


docker run hello-world 

Bu komanda hello-world image-ni Docker Hub-dan yükləyəcək (əgər o hələ yüklənməyibsə) və onu işə salacaq. Konteyner image-də müəyyən edilmiş komandaları icra edəcək və aşağıdakı mesajı ekrana çıxaracaq:

Terminal


Hello from Docker!
This message shows that your installation appears to be working correctly.
...

1.2 Parametrlərlə işə salma

1. Konteyneri arxa planda işə salmaq

Varsayılan olaraq, konteynerlər interaktiv rejimdə işə salınır və onların çıxışı terminalınızda görünür. Ancaq siz konteyneri arxa planda işə salmaq üçün -d (detached mode) opsiyasından istifadə edə bilərsiniz.

Terminal


docker run -d nginx 

Bu komanda Nginx veb-serverini arxa planda işə salacaq. Docker sizə konteynerin idarə olunması üçün istifadə edilə biləcək konteyner identifikatorunu qaytaracaq.

2. Konteynerə ad təyin etmə

Konteynerlərin idarə olunmasını asanlaşdırmaq üçün siz konteynerə --name parametri ilə ad təyin edə bilərsiniz.

Terminal


docker run -d --name my_nginx nginx 

İndi konteyneriniz my_nginx adını daşıyacaq və siz Docker-in digər komandalarında onu adla istinad edə biləcəksiniz.

3. Konteynerin çıxışına baxış

Siz terminalınıza nəticə çıxışı edəcək bir komanda ilə konteyneri işə sala bilərsiniz. Bunun üçün -i (interactive)-t (pseudo-TTY) parametrlərindən istifadə olunur.

Terminal


docker run -it ubuntu bash 

Bu komanda ubuntu imicindən istifadə edərək bir konteyner işə salacaq və konteyner daxilində interaktiv Bash terminalını açacaq. Siz bu terminalda komandalarınızı adi Ubuntu sistemindəki kimi yerinə yetirə bilərsiniz.

4. Ətraf mühit dəyişənləri təyin etmək və istifadə etmək

-e parametri vasitəsilə siz ətraf mühit dəyişənlərini konteynerə ötürə bilərsiniz.

Terminal


docker run -e MY_VAR=value ubuntu env 

Bu komanda MY_VAR ətraf mühit dəyişənini konteynerə ötürəcək və konteyner daxilində bütün ətraf mühit dəyişənlərini göstərəcək env komandasını işə salacaq.

1.3 Docker run ilə mürəkkəb istifadələr

1. Müəyyən port ilə konteynerin işə salınması:

Bu komanda Nginx-i işə salır və konteynerin 80 portunu hostun 8080 portuna yönləndirir. İndi Nginx veb-serverinə daxil olmaq üçün brauzer açıb bunu yazın: http://localhost:8080.

Terminal


docker run -d -p 8080:80 nginx 

2. Kataloqu mount ilə konteynerin işə salınması:

Bu komanda, hostdakı /host/data kataloqunu konteynerdəki /container/data-ə mount edir. Bu, konteyner restart edildikdə məlumatların saxlanılması üçün faydalıdır.

Terminal


docker run -d -v /host/data:/container/data ubuntu

3. Resurs məhdudiyyəti ilə konteynerin işə salınması:

Bu komanda konteyneri 1.5 CPU və 512 MB RAM ilə məhdudlaşdırılmış resurs istifadəsi ilə işə salır. Bu, multitasking mühitlərdə konteynerin istifadə etdiyi resurslara nəzarət üçün faydalıdır.

Terminal


docker run -d --cpus="1.5" --memory="512m" ubuntu

1.4 Praktiki nümunələr

1. Veb tətbiqini işə salmaq

Deyək ki, sizin Node.js istifadə edən bir veb tətbiqiniz var və onu konteynerdə işə salmaq istəyirsiniz. Əvvəlcə tətbiqiniz üçün bir Dockerfile yaradın:

dockerfile


# Node.js üçün əsas imici istifadə edirik
FROM node:14
        
# İş mühitini təyin edirik
WORKDIR /app
        
# package.json-u kopiyalayırıq və asılılıqları quraşdırırıq
COPY package.json .
RUN npm install
        
# Tətbiqin qalan kodunu kopiyalayırıq
COPY . .
        
# Tətbiqin istifadə edəcəyi portu açırıq
EXPOSE 3000
        
# Tətbiqin işə salınması üçün komanda
CMD ["node", "app.js"]

İndi imici yarada və konteyneri işə sala bilərsiniz:

Terminal


docker build -t my-node-app .
docker run -d -p 3000:3000 my-node-app

Tətbiqiniz http://localhost:3000 ünvanında əlçatan olacaq.

2. Məlumat bazasını işə salmaq

Docker istifadə edərək PostgreSQL nümunəsini işə salaq. docker run komandasından istifadə edərək, host sistemində quraşdırma və konfiqurasiya etmədən məlumat bazasını tez bir zamanda başlada bilərsiniz.

Terminal


docker run -d --name my-postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 
postgres 

Bu komanda aşağıdakıları edir:

  • -d konteyneri arxa planda işə salır.
  • --name konteynerə ad təyin edir.
  • -e məsələn, postgres istifadəçi parolu kimi ətraf mühit dəyişənlərini təyin edir.
  • -p host portu 5432-ni konteynerin portu 5432-yə yönləndirir.

İndi localhost:5432 ünvanında təyin etdiyiniz paroldan istifadə edərək PostgreSQL məlumat bazasına qoşula bilərsiniz.

3. Python ilə konteyner işə salmaq

Sadə bir Python skripti ilə konteyner yaradaq və işə salaq. Əvvəlcə Dockerfile faylı yaradın:

dockerfile

# Python üçün əsas imici istifadə edirik
FROM python:3.9-slim
        
# Skripti konteynerə kopiyalayırıq
COPY script.py /app/script.py
        
# İş mühitini təyin edirik
WORKDIR /app
        
# Skripti işə salmaq üçün komanda
CMD ["python", "script.py"]

İndi script.py faylını yaradın:

Python


print("Docker-dən salam!")

İmici yaradın və konteyneri işə salın:

Terminal


docker build -t my-python-app .
docker run my-python-app

Nəticə olaraq çıxış görünəcək:

Terminal

        
Docker-dən salam!
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION