CodeGym /Kurslar /Docker SELF /İşləyən konteynerə qoşulma

İşləyən konteynerə qoşulma

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

5.1 docker exec komandasının əsasları

docker exec komandası işləyən konteynerlərlə qarşılıqlı əlaqə üçün vacib bir vasitədir. O, sizə konteyner daxilində komandalar işə salmaq və interaktiv sessiyalar açmağa imkan verir ki, bu da administrativ tapşırıqların, debug və monitorinq işlərinin yerinə yetirilməsi üçün faydalıdır. Bu mühazirədə biz docker exec komandasını necə istifadə edəcəyimizi, mövcud parametrləri və praktiki tətbiq nümunələrini dərindən araşdıracağıq.

docker exec komandası işləyən konteynerdə komanda yerinə yetirmək üçün istifadə olunur. Bu komanda vasitəsilə konteynerə daxil ola və onunla qarşılıqlı əlaqə qura bilərsiniz, sanki birbaşa serverdə işləyirmişsiniz kimi.

Sintaksis


docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Harada:

  • CONTAINER: daxil olmaq istədiyiniz konteynerin adı və ya identifikatoru.
  • COMMAND: konteyner daxilində yerinə yetirmək istədiyiniz komanda.
  • ARG...: komanda üçün arqumentlər.

Əsas istifadənin nümunəsi

Bu nümunə my_container konteynerində ls /app komandasını işə salacaq, bu da konteynerdəki /app kataloqunun məzmununu görməyə imkan verəcək.

Terminal


docker exec my_container ls /app

5.2 docker exec komandası üçün parametrlər

docker exec komandası bir neçə opsiyanı dəstəkləyir. Bunlar, konteyner içərisində komanda icrasının davranışını tənzimləməyə imkan verir.

1. İnteraktiv sessiyanın açılması

İnteraktiv sessiya açmaq üçün -i (interactive) və -t (pseudo-TTY) opsiyalarının kombinasiyası istifadə olunur.

Terminal


docker exec -it my_container /bin/bash

Bu nümunə my_container konteynerinin daxilində interaktiv bir Bash terminalı açacaq və sizə real vaxtda komandalar icra etməyə imkan verəcək.

2. Komandaların detach rejimində icra edilməsi

Əgər sizə komandanı icra etmək və nəticələrini izləməmək lazımdırsa, -d (detached mode) opsiyasından istifadə edə bilərsiniz.

Terminal


docker exec -d my_container touch /app/newfile.txt

Bu nümunə my_container konteyneri daxilindəki /app qovluğunda boş bir fayl newfile.txt yaradacaq və dərhal terminala nəzarəti qaytaracaq.

3. Xüsusi mühit dəyişənlərinin təyin edilməsi

Siz konteynerə mühit dəyişənlərini ötürmək üçün -e parametrlərindən istifadə edə bilərsiniz.

Terminal

        
docker exec -e MY_VAR = value my_container env

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

5.3 İstifadə nümunələri

Nümunə 1: Konteyner daxilində işləyən proseslərin siyahısına baxış

Bu nümunə ps aux komandasını konteyner my_container daxilində icra edəcək, işləyən bütün proseslərin siyahısını göstərəcək.

Terminal

docker exec my_container ps aux 

Nümunə 2: Konteynerdə xidmətin vəziyyətinin yoxlanması

Bu nümunə service nginx status komandasını konteyner my_container daxilində icra edəcək, Nginx xidmətinin vəziyyətini göstərəcək.

Terminal


docker exec my_container service nginx status

Nümunə 3: Konteyner daxilində paketlərin quraşdırılması

Bu nümunə paketlərin siyahısını yeniləyəcək və konteynerdə Vim redaktorunu quracaq my_container.

Terminal


docker exec my_container apt-get update && apt-get install -y vim

5.4 Praktiki ssenarilər

1. Konteynerlərin idarə olunması

docker exec əmri administratorlara baxım işlərini birbaşa konteynerlərin içində həyata keçirmək imkanı verir. Məsələn, konfiqurasiya fayllarını redaktə etmək, logları yoxlamaq və ya faylların icazələrini dəyişmək olar.

Terminal


docker exec -it my_container vim /etc/nginx/nginx.conf

2. Tətbiqlərin debugg olunması

Tətbiqlərin yaradılması və test olunması zamanı docker exec əmri developerlərə tətbiqin vəziyyətini yoxlamaq, debug komandalarını icra etmək və errorları təhlil etmək imkanı yaradır.

Terminal


docker exec -it my_container python /app/scripts/debug.py

3. Monitorinq və diaqnostika

docker exec əmri diaqnostik komandaların icrası üçün və konteynerin vəziyyətinin monitorinq olunması üçün istifadə olunur. Məsələn, resurs istifadəsini, şəbəkə bağlantılarını və digər metrikləri yoxlamaq olar.

Terminal


docker exec my_container top

Bu nümunə my_container konteynerində top komandasını icra edəcək və cari resurs istifadəsini göstərəcək.

5.5 Əlavə tövsiyələr

1. Təhlükəsizliyin təmin edilməsi

docker exec əmrindən istifadə edərkən təhlükəsizlik məsələlərini nəzərə almaq vacibdir. Əmin olun ki, konteynerlərə giriş məhduddur və yalnız avtorizasiya edilmiş istifadəçilər konteyner daxilində əmrlər icra edə bilərlər.

2. Vəzifələrin avtomatlaşdırılması

Siz rutin vəzifələri avtomatlaşdırmaq üçün docker exec əmrini istifadə edən skriptlərdən istifadə edə bilərsiniz. Bu, mürəkkəb iş axınları yaratmağa və konteynerlərin idarə edilməsini avtomatlaşdırmağa kömək edir.

Terminal

#!/bin/bash
for container in $(docker ps -q); do
  docker exec $container uptime
done

Bu skript bütün işləyən konteynerlərdə uptime əmrini icra edəcək və onların işləmə vaxtını göstərəcək.

3. Loglar və problemlərin həlli

Bəzi hallarda əmrin icrası səhvlə nəticələnə bilər. Belə hallar üçün problem diaqnostikası üçün konteynerin loglarına baxmaq faydalıdır.

Terminal

        
docker logs my_container
1
Опрос
İlk konteynerin yaradılması,  11 уровень,  4 лекция
недоступен
İlk konteynerin yaradılması
İlk konteynerin yaradılması
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION