Как связать ажурный берет с цветком крючком на весну и осень, вязание крючком для начинающих
Innehållsförteckning:
Det är bra att ansluta till en löpande Docker-behållare när du vill se vad som händer inne i behållaren. Om Docker-behållaren inte fungerar som förväntat kan du fästa till behållaren eller få ett skal till behållaren och köra kommandon som
ps
eller
top
. Du kan också ange behållaren, installera nya paket och bygga en ny Docker-bild från den.
I den här tutorialen kommer vi att förklara hur man fäster till behållarens huvudsakliga körprocess och hur man får ett skal till en löpande behållare.
Fäst på en behållare
Även om det är möjligt att köra flera processer i en container kör de flesta dockningscontainrar bara en enda process. Kommandot som utförs vid start av en container specificeras med
ENTRYPOINT
och / eller
RUN
instruktionen.
Med
docker attach
kan du ansluta din terminal till den löpande behållaren. Detta är användbart när du vill se vad som skrivs i standardutdata i realtid eller för att kontrollera processen interaktivt.
För att bättre förstå hur
attach
kommandot fungerar låt oss köra en ny fristående Nginx-behållare med den officiella Nginx-bilden.
docker container run --name my_nginx -d -p 8080:80 nginx
-p 8080:80
berättar för Docker att binda behållarens port 8080 till port 80 på värdmaskinen.
Lista behållarna för att se till att behållaren "my_nginx" körs:
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
Fäst till behållaren med behållarens ID eller namn:
docker container attach my_nginx
Standardkommandot för nginx-bilden som körs när du kör behållaren är inställd på
CMD
. När du kör
nginx
attach
din terminal till
nginx
processen.
Öppna
127.0.0.1:8080
i din webbläsare och du kan se utgången från nginx-processen i realtid.
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" "-"
För att få tillgång till behållarloggarna bör du föredra att använda
docker logs
.
För att ta loss från behållaren utan att stoppa den, använd
CTRL-p
CTRL-q
. Att trycka på
CTRL-c
stoppar behållaren.
Om de körprocesser du kopplar till accepterar input kan du skicka instruktioner till den.
Skaffa ett skal till en behållare
Med
docker exec
kommandot kan du köra kommandon i en löpande behållare.
För att se hur
exec
kommandot fungerar och hur det kan användas för att komma in i containerskalet startar du först en ny behållare. Vi använder den officiella MySQL-bilden:
docker container run --name my_mysql -d mysql
Detta skapar en behållare med namnet “my_mysql”.
Kör följande kommando för att utföra ett kommando i behållaren:
docker container exec -it my_mysql ls /var
Alternativet
-i
står för interaktiv, och
-t
berättar för Docker att tilldela en pseudo TTY-enhet. Kommandot
ls
listar alla filer och kataloger i containerkatalogen
/var
:
backups cache lib local lock log mail opt run spool tmp
För att få ett skal till behållaren, dvs för att komma in i behållaren, starta en ny skal-session genom att köra skalet binärt. Du kan använda
sh
,
bash
eller något annat skal som ingår i bilden.
Kommandot nedan skapar en ny Bash-session i behållaren:
docker container exec -it my_mysql /bin/bash
Din kommandoprompt kommer att ändras, vilket indikerar att du nu arbetar med containerskalet.
Härifrån kan du köra kommandon på samma sätt som du gör på någon annan Linux-server. För att till exempel få en lista över de aktuella miljövariablerna, typ
env
:
env
Utgången ser ut så här:
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
Slutsats
Med
docker exec
och
docker attach
kan du ansluta till en löpande container. För att få ett interaktivt skal till en behållare, använd
exec
kommandot för att starta en ny skal-session.
attach
fäster din terminal till en löpande behållare.
Hur du ansluter till en anpassad, gratis vpn på din Mac-
Lär dig hur du ansluter till en gratis VPN-tjänst på din Mac och njut av innehåll från hela ordet även om det är begränsat i ditt land.
Hur man ansluter ipad till internet utan wi-fi
Lär dig hur du ansluter din iPad till Internet när det inte finns någon Wi-Fi i närheten.
Hur man förhindrar att Mac ansluter till fel Wi-Fi-nätverk
Har du en Mac som insisterar på att ansluta till fel Wi-Fi-nätverk? Så här kan du lösa problemet och vara bekväm.







