Configure Port Forwarding to Remotely Access Your Synology NAS | Synology
Indholdsfortegnelse:
Det er nyttigt at oprette forbindelse til en kørende Docker-container, når du vil se, hvad der sker inde i containeren. Hvis Docker-beholderen ikke fungerer som forventet, kan du fastgøre til containeren eller få en skal til beholderen og køre kommandoer såsom
ps
eller
top
. Du kan også gå ind i beholderen, installere nye pakker og opbygge et nyt Docker-billede ud fra den.
I denne tutorial vil vi forklare, hvordan man fastgør til beholderens vigtigste køreproces, og hvordan man får en skal til en kørende container.
Fastgør til en beholder
Selvom det er muligt at køre flere processer i en container, kører de fleste dockercontainere kun en enkelt proces. Den kommando, der udføres, når en container startes, specificeres ved hjælp af
ENTRYPOINT
og / eller
RUN
.
Kommandoen
docker attach
giver dig mulighed for at knytte din terminal til den kørende container. Dette er nyttigt, når du vil se, hvad der er skrevet i standardoutput i realtid, eller til at kontrollere processen interaktivt.
For bedre at forstå, hvordan
attach
kommando fungerer, lad os køre en ny løsrevet Nginx-container ved hjælp af det officielle Nginx-billede.
docker container run --name my_nginx -d -p 8080:80 nginx
Indstillingen
-p 8080:80
fortæller Docker at binde beholderport 8080 til port 80 på værtsmaskinen.
Angiv containerne for at sikre, at containeren “my_nginx” kø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
Fastgør til containeren ved hjælp af containerens ID eller navn:
docker container attach my_nginx
Standardkommandoen for nginx-billedet, der udføres, når du kører containeren, er indstillet til
CMD
. Når du kører
attach
din terminal til
nginx
processen.
Åbn
127.0.0.1:8080
i din browser, og du kan se output fra 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" "-"
For at få adgang til beholderlogfilerne skal du foretrække at bruge kommandoen
docker logs
.
For at løsne fra beholderen uden at stoppe den, skal du bruge
CTRL-p
CTRL-q
tastkombinationen. Tryk på
CTRL-c
stopper beholderen.
Hvis de kørende processer, du er knyttet til, accepterer input, kan du sende instruktioner til det.
Få en skal til en container
Med
docker exec
kommandoen kan du køre kommandoer i en kørende container.
For at se, hvordan
exec
kommandoen fungerer, og hvordan den kan bruges til at komme ind i containerskallen, skal du først starte en ny container. Vi bruger det officielle MySQL-billede:
docker container run --name my_mysql -d mysql
Dette vil oprette en container med navnet "my_mysql".
For at udføre en kommando inde i containeren skal du køre følgende kommando:
docker container exec -it my_mysql ls /var
Indstillingen
-i
står for interaktiv, og
-t
fortæller Docker at tildele en pseudo TTY-enhed. Kommandoen
ls
viser alle filer og mapper i containers
/var
biblioteket:
backups cache lib local lock log mail opt run spool tmp
For at få et skal til beholderen, dvs. for at komme ind i containeren, skal du starte en ny shell-session ved at udføre skallen binært. Du kan bruge
sh
,
bash
eller enhver anden skal, der er inkluderet i billedet.
Kommandoen nedenfor opretter en ny Bash-session inde i containeren:
docker container exec -it my_mysql /bin/bash
Din kommandoprompt ændres, hvilket indikerer, at du nu arbejder på containerskallen.
Herfra kan du køre kommandoer på samme måde, som du ville gøre på enhver anden Linux-server. For eksempel at få en liste over de aktuelle miljøvariabler, type
env
:
env
Outputet ser sådan ud:
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
Konklusion
Kommandoen til
docker exec
og
docker attach
giver dig mulighed for at oprette forbindelse til en kørende container. For at få en interaktiv shell til en container skal du bruge
exec
kommandoen til at starte en ny shell-session. Kommandoen
attach
knytter din terminal til en kørende container.
Sådan opretter du forbindelse til en brugerdefineret, gratis vpn på din mac -
Lær hvordan du opretter forbindelse til en gratis VPN-service på din Mac og nyder indhold fra hele ordet, selvom det er begrænset i dit land.
Sådan opretter du forbindelse til en ftp-server gennem macfusion -
Lær, hvordan du opretter forbindelse til en FTP-server i Mac lige fra Finder gennem Macfusion.
Sådan opretter du forbindelse til mysql gennem ssh tunnel
I denne vejledning forklarer vi, hvordan man opretter en SSH-tunnel og opretter forbindelse til MySQL-serveren fra eksterne klienter.