Android

Kuinka muodostaa yhteys telakointiasemaan

Unimatkalla: Ajatuksia 8 - Yhteys korkeampaan tietoisuuteen

Unimatkalla: Ajatuksia 8 - Yhteys korkeampaan tietoisuuteen

Sisällysluettelo:

Anonim

Yhdistäminen käynnissä olevaan Docker-säilöön on hyödyllistä, kun haluat nähdä, mitä säiliön sisällä tapahtuu. Jos Docker-säilö ei toimi odotetulla tavalla, voit kiinnittää säilöön tai saada kuoren säilöön ja suorittaa komentoja, kuten ps tai top . Voit myös syöttää säilön, asentaa uusia paketteja ja luoda siitä uuden Docker-kuvan.

Tässä opetusohjelmassa selitämme, kuinka kiinnitys säilön pääkäyttöprosessiin tapahtuu ja kuinka kuori saadaan käynnissä olevaan säilöön.

Kiinnitä astiaan

Vaikka kontissa on mahdollista ajaa useita prosesseja, useimmat telakointiastiat ajavat vain yhtä prosessia. Komento, joka suoritetaan säilöä käynnistettäessä, määritetään ENTRYPOINT ja / tai RUN käskyjen avulla.

docker attach avulla voit liittää päätelaitteen käynnissä olevaan säilöön. Tämä on hyödyllistä, kun haluat nähdä, mitä vakioulostulossa on kirjoitettu reaaliajassa, tai hallita prosessia vuorovaikutteisesti.

Jotta voimme paremmin ymmärtää attach toiminnan, ajaa uusi irrotettu Nginx-säilö virallista Nginx-kuvaa käyttämällä.

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

-p 8080:80 -vaihtoehto käskee Dockerin sitomaan säiliön portti 8080 isäntäkoneen porttiin 80.

Lista säilytysastiat varmistaaksesi, että “my_nginx” -säiliö on käynnissä:

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

Kiinnitä säilöön tunnuksen tai nimen avulla:

docker container attach my_nginx

Nginx-kuvan oletuskomento, joka suoritetaan, kun suoritat säilön, on CMD . Kun suoritat liitäntäkomennon, päätelaite kiinnittyy nginx prosessiin.

Avaa 127.0.0.1:8080 selaimessa ja voit katsella nginx-prosessin lähtöä reaaliajassa.

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" "-"

Säilölokeihin pääsyä varten on suositeltavaa käyttää docker logs -komentoa.

Irrota säilytystila pysäyttämättä sitä CTRL-p CTRL-q näppäinyhdistelmällä. Painamalla CTRL-c pysäytetään säiliö.

Jos käynnissä olevat prosessit hyväksyvät syötteen, voit lähettää siihen ohjeita.

Hanki kuori konttiin

docker exec komento antaa sinun suorittaa komentoja käynnissä olevan säilön sisällä.

Käynnistä ensin uusi säilö nähdäksesi kuinka komento exec toimii ja miten sitä voidaan käyttää exec . Käytämme virallista MySQL-kuvaa:

docker container run --name my_mysql -d mysql

Tämä luo säilö nimeltä “my_mysql”.

Suorita komento säilön sisällä suorittamalla seuraava komento:

docker container exec -it my_mysql ls /var

-i vaihtoehto tarkoittaa vuorovaikutteista, ja -t käskee Dockerin allokoimaan pseudo TTY -laitteen. ls komento luettelee kaikki tiedostot ja hakemistot säilön /var hakemistossa:

backups cache lib local lock log mail opt run spool tmp

Aloita uusi kuoriistunto suorittamalla kuoren binaari saadaksesi säiliöön säiliön, ts. Päästäksesi säiliön sisään. Voit käyttää sh , bash tai mitä tahansa muuta kuvassa olevaa kuorta.

Seuraava komento luo uuden Bash-istunnon säilön sisään:

docker container exec -it my_mysql /bin/bash

Komentokehote muuttuu osoittaen, että työskentelet nyt säilöasennossa.

Täältä voit suorittaa komentoja samalla tavalla kuin mitä tahansa muuta Linux-palvelinta. Esimerkiksi saadaksesi luettelon nykyisistä ympäristömuuttujista kirjoita env :

env

Tulos näyttää tältä:

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

johtopäätös

docker exec ja docker attach avulla voit muodostaa yhteyden käynnissä olevaan säilöön. Jos haluat saada interaktiivisen kuoren säilöön, aloita uusi exec komennolla exec . attach komento liittää päätteesi käynnissä olevaan säilöön.

satamatyöläinen