Sobes.tech
Junior

Kuidas ühendada Dockeriga loodud töötava konteineriga?

sobes.tech AI

Vastus AI-lt

On mitmeid võimalusi:

  1. Docker attach: Ühendab teie terminali standardsisendi, -väljundi ja -vigadega põhiprotsessi konteineris.

    docker attach <konteineri_id_või_nimi>
    
    • Eelised: Lihtne kasutada, kohene ühendus põhiprotsessiga.
    • Miinused: Seansi väljumine (Ctrl+C) võib peatada põhiprotsessi. Ei sobi eraldi käskude käivitamiseks konteineris.
  2. Docker exec: Käivitab uue käsu töötavas konteineris ja ühendab selle terminaliga. Ideaalne interaktiivseks tööks (shell) või skriptide täitmiseks.

    docker exec -it <konteineri_id_või_nimi> <käsk>
    
    • Parameeter -it tähendab interaktiivset režiimi (-i) ja pseudo-TTY jaotust (-t).
    • <käsk> - käsk, mida tuleb konteineris täita, tavaliselt bash või sh:
    docker exec -it minu_web_server bash  # Ühendus bash-iga konteineris
    docker exec minu_andmebaasi_konteiner ps aux # Käsk `ps aux` täitmine ja tulemuse kuvamine
    
    • Eelised: Ei peata põhiprotsessi väljumise ajal. Võimaldab käivitada mis tahes käske konteineris. Kõige levinum meetod silumiseks ja hoolduseks.
    • Miinused: Käivitab uue protsessi konteineris.
  3. SSH-server konteineris: Parem keerulisem lähenemine, mis nõuab SSH-serveri paigaldamist ja konfiguratsiooni konteineri pildil. Võimaldab ühenduda konteineriga nagu tavalise virtuaalmasina või serveriga SSH protokolli kaudu.

    • Eelised: Tavaline ja harjumuspärane haldamisviis. Turvalisem tootmiskeskkonnas (õigesti seadistatud).
    • Miinused: Teeb konteineri pildi keerulisemaks. Nõuab SSH-serveri seadistamist ja võtmete/paroolide haldamist. Rikkub "üks protsess — üks konteiner" põhimõtet, kui põhiprotsess ei ole SSH.

Soovitus: Enamikel juhtudel on kõige sobivam ja turvalisem viis silumiseks ja interaktiivseks tööks docker exec -it.