Junior
Docker ilə yaradılmış işlək konteynerə necə qoşulmaq olar?
sobes.tech Süni İntellekt
AI-dan cavab
Bir neçə üsul mövcuddur:
-
Docker attach: Terminalinizin standart giriş, çıxış və səhvlərini konteynerin əsas prosesinə qoşur.
docker attach <container_id_or_name>- Üstünlüklər: İstifadəsi asandır, əsas prosesə dərhal qoşulma.
- Çatışmazlıqlar: Sessiyadan çıxış (Ctrl+C) konteynerin əsas prosesini dayandıra bilər. Ayrı komandalar işlətmək üçün uyğun deyil.
-
Docker exec: İşləyən konteynerdə yeni bir əmri icra edir və ona terminal qoşur. İnteraktiv iş üçün (kabuk) və ya skriptlərin icrası üçün idealdır.
docker exec -it <container_id_or_name> <əmr>-itparametri interaktiv rejim (-i) və pseudo-TTY ayırması (-t) üçündür.<əmr>konteyner daxilində icra olunacaq əmrdir, adətənbashvə yash.
docker exec -it my_web_server bash # Kabukda bash-ə qoşulma docker exec my_db_container ps aux # `ps aux` əmri icra və nəticənin göstərilməsi- Üstünlüklər: Çıxışda əsas proses dayandırılmır. Hər hansı əmri konteyner daxilində icra etməyə imkan verir. Debug və xidmət göstərmə üçün ən çox istifadə olunan üsul.
- Çatışmazlıqlar: Yeni proses konteyner daxilində işləyir.
-
Konteynerdə SSH Server: Daha mürəkkəb yanaşma olub, konteyner imajında SSH serverinin qurulması və konfiqurasiyasını tələb edir. SSH vasitəsilə konteynerə adi virtual maşın və ya server kimi qoşulmağa imkan verir.
- Üstünlüklər: Standart və tanış idarəetmə üsulu. Doğru konfiqurasiya ilə istehsalda daha təhlükəsiz.
- Çatışmazlıqlar: Konteyner imajını mürəkkəbləşdirir. SSH serverinin qurulması və açar/parol idarəetməsini tələb edir. Əsas proses SSH deyilsə, Docker-ın "bir proses - bir konteyner" paradigmasını pozur.
Tövsiyə: Əksər debug və interaktiv iş halları üçün ən uyğun və təhlükəsiz üsul docker exec -it-dir.