Sobes.tech
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:

  1. 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.
  2. 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>
    
    • -it parametri interaktiv rejim (-i) və pseudo-TTY ayırması (-t) üçündür.
    • <əmr> konteyner daxilində icra olunacaq əmrdir, adətən bash və ya sh.
    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.
  3. 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.