Android

Csatlakozás dokkolótartályhoz

Suttogók 2018 - Monty Roberts csatlakozás

Suttogók 2018 - Monty Roberts csatlakozás

Tartalomjegyzék:

Anonim

A csatlakozás egy futó Docker-tárolóhoz akkor hasznos, ha meg akarja nézni, mi történik a tárolóban. Ha a Docker tároló nem működik a várt módon, csatolhat a tárolóhoz, vagy kaphat egy héjat a tárolóhoz, és futtathat olyan parancsokat, mint a ps vagy a top . Megadhatja a tárolót, új csomagokat telepíthet, és új Docker képet készíthet belőle.

Ebben az oktatóanyagban elmagyarázza, hogyan lehet csatolni a tároló fő futási folyamatához, és hogyan lehet egy héjat csatolni a futó tárolóhoz.

Csatlakoztassa a tartályhoz

Bár lehetséges egy folyamatban több folyamat futtatása, a legtöbb dokkoló-tároló csak egyetlen folyamatot futtat. A tároló indításakor végrehajtott parancsot az ENTRYPOINT és / vagy a RUN utasítás segítségével ENTRYPOINT .

A docker attach parancs lehetővé teszi a terminál csatolását a futó tárolóhoz. Ez akkor hasznos, ha azt szeretné, hogy valós időben megnézze, mi íródik a standard kimenetbe, vagy interaktív módon vezérelje a folyamatot.

A attach parancs működésének jobb megértése érdekében futtasson egy új leválasztott Nginx tárolót a hivatalos Nginx kép használatával.

docker container run --name my_nginx -d -p 8080:80 nginx

A -p 8080:80 opció azt mondja a Docker-nek, hogy a tároló 8080-es portját a gazdagép 80-as portjához kösse.

Sorolja fel a tárolókat, és ellenőrizze, hogy a “my_nginx” tároló fut-e:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8e1c4974a8d8 nginx "nginx -g 'daemon of…" 3 minutes ago Up 2 seconds 0.0.0.0:8080->80/tcp my_nginx

Csatlakoztassa a tárolóhoz a tároló azonosítójával vagy nevével:

docker container attach my_nginx

A tároló futtatásakor végrehajtott nginx kép alapértelmezett parancsának CMD értéke van. A attach parancs futtatásakor a terminál nginx az nginx folyamathoz.

Nyissa meg a 127.0.0.1:8080 böngészőt, és valós időben megnézheti az nginx folyamat eredményét.

192.168.33.1 - - "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.33.1 - - "GET /favicon.ico HTTP/1.1" 404 555 "http://192.168.33.71:8080/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-"

A tárolónaplókhoz való hozzáféréshez inkább a docker logs parancsot kell használni.

A CTRL-p CTRL-q billentyűkombinációval történő leválasztáshoz, anélkül, hogy megállítaná azt. A CTRL-c megnyomásával CTRL-c a tartályt.

Ha a csatolt futó folyamatok elfogadják a bemenetet, utasításokat küldhet neki.

Hozz egy kagylót a konténerhez

A docker exec parancs lehetővé teszi a parancsok futtatását egy futó tárolóban.

Ha meg szeretné tudni, hogy az exec parancs hogyan működik, és hogyan használható fel a exec megadására, először indítson el egy új tárolót. A hivatalos MySQL képet fogjuk használni:

docker container run --name my_mysql -d mysql

Ez létrehoz egy „my_mysql” nevű tárolót.

A parancs végrehajtásához a tárolóban futtassa a következő parancsot:

docker container exec -it my_mysql ls /var

Az -i opció interaktív, és -t utasítja a Dockernek, hogy ál-TTY eszközt rendeljen hozzá. Az ls parancs felsorolja az összes fájlt és könyvtárat a tároló /var könyvtárában:

backups cache lib local lock log mail opt run spool tmp

Héj hozzáadásához a tárolóhoz, azaz a tárolóba belépéshez indítson el egy új shell munkamenetet a héj bináris végrehajtásával. Használhat sh , bash vagy bármilyen más héjat, amelyet a kép tartalmaz.

Az alábbi parancs új Bash munkamenetet hoz létre a tárolóban:

docker container exec -it my_mysql /bin/bash

A parancssor megváltozik, jelezve, hogy most a tárolóhéjon dolgozik.

Innentől kezdve a parancsokat ugyanúgy futtathatja, mint bármely más Linux szervernél. Például az aktuális környezeti változók listájának beszerzéséhez írja be az env :

env

A kimenet így néz ki:

HOSTNAME=e0214d97e0fe MYSQL_ROOT_PASSWORD=my-secret-pw PWD=/ HOME=/root MYSQL_MAJOR=8.0 GOSU_VERSION=1.7 MYSQL_VERSION=8.0.17-1debian9 TERM=xterm SHLVL=1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin _=/usr/bin/env

Következtetés

A docker exec és docker attach parancsai lehetővé teszik a csatlakozást egy futó tárolóhoz. Interaktív héj tárolóba való exec használja az exec parancsot egy új héj munkamenet indításához. A attach parancs a terminált egy futó tárolóhoz attach .

dokkmunkás