[megoldva] docker konténer indítása

Ezt a bash parancsot hogy lehet átírni úgy, hogy cmd-ből vagy PowerShellből fusson?
(Tehát az első oszlopban levő docker konténer ID-t kellene kinyerni adott sorhoz.)

docker exec -it $(docker ps|grep sokatmondo_nev|cut -d' ' -f1) bash

Hozzászólások

PowerShellben megvan:

docker exec -it $($(docker ps|Select-String -Pattern sokatmondo_nev) -split " ")[0] bash

Esetleg még szimpla cmd-ben jöhet megoldás... :-)

nem értem a létjogosultságát. Az exec működik konténer névvel is:

docker exec -it sokatmondo_nev bash

vagy félreértem a use-case-t?

Viszont te feltételezed, hogy egy adott neve van a konténernek, ezt a parancs tartalmazza. AKkor már meg nem mindegy, hogy ebbe a parancsba írod bele azt, hogy mi a konténer neve, és nem pedig egy másik paranccsal kiszedsz egy ID-t, ami ugyanúgy egyedi mint a konténer neve, és ezt használod?

Van kétféle egyedi azonosító, ebből az egyikkel rendelkezel (a konténer neve), de te mindenképpen a másikat szeretnéd használni, ha jól értem.

 

Amúgy ha meg swarm van, és ugyanabból az image-ből épül sok konténer is, akkor miért akarnál pontosan egyre shellt nyitni?

Nem egy adott konténer-nevet feltételezek, hanem hogy az a szó ott megvan a kívánt sorban (pl. az image neve miatt).

Nem állítom, hogy megkerülhetetlen ez a téma, amit kérdezek, de mégis, mostanában többször előjött:

 - én bashból már jó ideje nem foglalkozom a kérdéssel, mert könnyen megvan

 - a nem bash-t használó munkatársaim pedig (látom a képernyőmegosztásnál) másolgatják kézzel az ID-t

Nem értem, hogy mi az a use case, amit lefedsz azzal, hogy egy bizonyos image-ből deplyolt legelső konténerbe shellel belépsz?

Ha egy adott konténerrel van gond, akkor abba a konténerbe lépj be, ha meg nem egy adott futó konténerbe kell belépni, hanem maga a felépített image-dzsel gond van, akkor szerintem nem a bash az, ami megoldja a problémát, hanem a fejlesztői oldali tesztelés, az éles környezetben pedig valami központi monitoring/menedzsment.

Tudnál adni még pár infót? Mert érdekes a use case.

Egy ideiglenesen használt swarmról van szó, igazából minden típusú konténerből csak egy van. Tudom, a swarm nem erre lett kitalálva, de most ez van. Tervben van áttérni (legalábbis dev környezetben) egy pusztán docker-compose.yml alapú egyszerűbb alakzatra, de addig is, amíg az elkészül, ezt használjuk.

Röviden: igazából nem releváns, hogy pontosan mi ez a use case, mert máshol valószínűleg így nem kerül ez elő.