Docker Networking Tutorial | Container Network Model | Docker Tutorial For Beginners | Simplilearn
Innholdsfortegnelse:
Det er nyttig å koble til en kjørende Docker-container når du vil se hva som skjer inne i containeren. Hvis Docker-beholderen ikke fungerer som forventet, kan du feste til beholderen eller få et skall til beholderen og kjøre kommandoer som
ps
eller
top
. Du kan også gå inn i beholderen, installere nye pakker og bygge et nytt Docker-bilde fra den.
I denne opplæringen skal vi forklare hvordan du kan feste til beholderens viktigste løpsprosess og hvordan du får et skall til en løpende container.
Fest til en beholder
Selv om det er mulig å kjøre flere prosesser i en container, kjører de fleste dockercontainere bare en enkelt prosess. Kommandoen som utføres når du starter en container spesifiseres ved å bruke
ENTRYPOINT
og / eller
RUN
instruksjonen.
Kommandoen for
docker attach
lar deg knytte terminalen til den kjørende containeren. Dette er nyttig når du vil se hva som er skrevet i standardutgangen i sanntid, eller for å kontrollere prosessen interaktivt.
For bedre å forstå hvordan
attach
kommandoen fungerer, la oss kjøre en ny løsrevet Nginx-beholder ved hjelp av det offisielle Nginx-bildet.
docker container run --name my_nginx -d -p 8080:80 nginx
Alternativet
-p 8080:80
forteller Docker om å binde port 8080 på beholderen til port 80 på vertsmaskinen.
Liste containere for å sikre at “my_nginx” containeren kjører:
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
Fest til beholderen ved å bruke beholderens ID eller navn:
docker container attach my_nginx
Standardkommandoen for nginx-bildet som utføres når du kjører containeren, er satt til
CMD
. Når du kjører
attach
kommandoen, kobles terminalen din til
nginx
prosessen.
Åpne
127.0.0.1:8080
i nettleseren din, og du kan se utdataene fra nginx-prosessen i sanntid.
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" "-"
For å få tilgang til beholderloggene, bør du foretrekke å bruke
docker logs
kommandoen.
For å løsne fra beholderen uten å stoppe den, bruk
CTRL-p
CTRL-q
tastekombinasjonen. Ved å trykke på
CTRL-c
stoppes beholderen.
Hvis de løpende prosessene du knytter til, godtar innspill, kan du sende instruksjoner til det.
Få et skall til en beholder
docker exec
kommandoen lar deg kjøre kommandoer inne i en kjørende container.
For å se hvordan
exec
kommandoen fungerer og hvordan den kan brukes til å gå inn i containerskallet, starter du først en ny container. Vi bruker det offisielle MySQL-bildet:
docker container run --name my_mysql -d mysql
Dette vil opprette en beholder med navnet “my_mysql”.
Kjør følgende kommando for å utføre en kommando inne i beholderen:
docker container exec -it my_mysql ls /var
Alternativet
-i
står for interaktiv, og
-t
forteller Docker å tildele en pseudo TTY-enhet. Kommandoen
ls
viser alle filer og kataloger i containerkatalogen
/var
:
backups cache lib local lock log mail opt run spool tmp
For å få et skall til beholderen, dvs. å gå inn i beholderen, start en ny skalløkt ved å utføre skallet binært. Du kan bruke
sh
,
bash
eller et hvilket som helst annet skall som er inkludert i bildet.
Kommandoen nedenfor vil opprette en ny Bash-økt i beholderen:
docker container exec -it my_mysql /bin/bash
Kommandoprompten din vil endres, noe som indikerer at du nå jobber med containerskallet.
Herfra kan du kjøre kommandoer på samme måte som på en hvilken som helst annen Linux-server. For å få en liste over gjeldende miljøvariabler, for eksempel, skriver du
env
:
env
Utgangen vil se slik ut:
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
Konklusjon
Kommandoer for
docker exec
og
docker attach
lar deg koble til en kjørende container. For å få et interaktivt skall til en container, bruker du
exec
kommandoen for å starte en ny skalløkt.
attach
kommandoen fester terminalen din til en kjørende container.
Slik kobler du Cortana til Microsofts helse konto

Se hvordan du kobler Microsoft Health-kontoen til Cortana i Windows 10. Når du har koblet, viser Cortana din Aktivitetsfremgang i Microsoft Band.
Slik kobler du Kindle Fire til Windows PC i trådløs modus

Det er enkelt å koble Kindle Fire til PC i trådløs modus. Bare installer ES File Explorer-appen på din Windows 10-nettbrett og administrer filene dine effektivt.
Slik kobler du til en YouTube-video fra en bestemt starttid til sluttidspunktet.

Lær hvordan du kobler til en bestemt del eller poeng av en YouTube-video. Del en YouTube-video-URL fra en bestemt start- og stopptid. Og gjett hva? Det er enkelt.