Kako spremeniti lokacijo datoteke Docker nogavice?

Se sprašujete, kako spremeniti pot datoteke docker.sock?


Kaj je Docker Socket?

Datoteka vtičnice Docker se nahaja na /var/run/docker.sock

Uporablja se za privzeto komunikacijo z glavnim docker-jevim demonom (procesom). To je vstopna točka za Docker API. Docket CLI to vtičnico privzeto uporablja za izvajanje ukazov dockerja.

Naj vam pokažem, kako spremeniti lokacijo datoteke docker nogavice.

Nehaj Dockerja

Prvič, če storitev dockerja deluje v vašem sistemu, ga ustavite. Če želite potrditi, da se je ustavila, zaženite statusni ukaz.

[zaščitena e-pošta]: ~ $ sudo storitev docker ustavi
[zaščitena e-pošta]: ~ status dockerja za storitve $ sudo
● docker.service – Docker Engine Container Engine
Naloženo: naloženo (/lib/systemd/system/docker.service; omogočeno; prednastavitev ponudnika: omogočeno)
Aktivno: neaktivno (mrtvo) od sobote 2019-11-23 15:37:00 EST; Pred 4 leti
Dokumenti: https://docs.docker.com
Postopek: 1474 ExecStart = / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock (koda = izstopila, status = 0 / USPEH)
Glavni PID: 1474 (koda = izšel, status = 0 / USPEH)

10. november 01:56:49 geekflare dockerd [1474]: čas ="2019-11-10T01: 56: 49-05: 00" nivo = napaka msg ="2019/11/10 06:56:49 Vstopite v pomoč go-plugins
10. november 01:56:49 geekflare dockerd [1474]: čas ="2019-11-10T01: 56: 49-05: 00" nivo = napaka msg ="čas = \"2019-11-10T06: 56: 49Z \" raven = odpravljanje napak msg =
10. november 01:56:49 geekflare dockerd [1474]: čas ="2019-11-10T01: 56: 49-05: 00" nivo = napaka msg ="čas = \"2019-11-10T06: 56: 49Z \" nivo = napaka msg =
10. november 01:57:23 geekflare dockerd [1474]: čas ="2019-11-10T01: 57: 23.635519865-05: 00" nivo = info msg ="Posoda 3141793b98f315dc90a57d81006
10. november 01:57:24 geekflare dockerd [1474]: čas ="2019-11-10T01: 57: 24.091797103-05: 00" nivo = info msg ="ignoriranje dogodka" module = libcontainerd
23. november 15:36:56 geekflare systemd [1]: Zaustavitev motorja za kontejnerske aplikacije Docker…
23. november 15:36:56 geekflare dockerd [1474]: čas ="2019-11-23T15: 36: 56.992795411-05: 00" nivo = info msg ="Signal obdelave “končan”"
23. november 15:36:58 geekflare dockerd [1474]: čas ="2019-11-23T15: 36: 58.234014533-05: 00" nivo = info msg ="ignoriranje dogodka" module = libcontainerd
23. november 15:37:00 geekflare dockerd [1474]: čas ="2019-11-23T15: 37: 00.403572098-05: 00" nivo = info msg ="ignoriranje dogodka" module = libcontainerd
23. november 15:37:00 geekflare systemd [1]: Zaustavljen motor Docker Application Container Engine.

Uredite docker.conf in docker.socket

V nadaljevanju spreminjam pot od /var/run/docker.sock do /home/geekflare/docker.sock

  • Uredite datoteko docker.conf znotraj / etc / init / z novo lokacijo. Morate samo urediti eno vrstico s potjo DOCKER_SOCKET.

[zaščitena e-pošta]: ~ $ sudo gedit /etc/init/docker.conf

opis "Docker demon"

zaženite (datotečni sistem in omrežje IFACE! = lo)
postanek na progi [! 2345]

omejitev nofile 524288 1048576

# Če ničelnih omejitev povzroča težave pri uspešnosti zaradi računovodskih režijskih stroškov
# v jedru. Priporočamo uporabo skupin za vodenje lokalnega zabojnika.
omejiti nproc neomejeno neomejeno

respawn

ubiti časovno omejitev 20

pred začetkom skripte
# glej tudi https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
če grep -v ‘^ #’ / etc / fstab | grep -q skupina \
|| [! -e / proc / cgroups] \
|| [! -d / sys / fs / cgroup]; torej
izhod 0
fi
če! točka montiranja -q / sys / fs / cgroup; torej
mount -t tmpfs -o uid = 0, gid = 0, način = 0755 cgroup / sys / fs / cgroup
fi
(
cd / sys / fs / cgroup
za sys v $ (awk ‘! / ^ # / {if ($ 4 == 1) natisnite $ 1}’ / proc / cgroups); stori
mkdir -p $ sys
če! točka montiranja -q $ sys; torej
če! mount -n -t cgroup -o $ sys cgroup $ sys; torej
rmdir $ sys || prav
fi
fi
Končano
)
končni skript

skripta
# spremeni te v / etc / default / $ UPSTART_JOB (/ etc / default / docker)
DOCKERD = / usr / bin / dockerd
DOCKER_OPTS =
če [-f / etc / default / $ UPSTART_JOB]; torej
. / etc / default / $ UPSTART_JOB
fi
exec "$ DOCKERD" $ DOCKER_OPTS – dnevniki
končni skript

# Ne oddajajte "začel" dogodek, dokler docker.sock ni pripravljen.
# Oglejte si https://github.com/docker/docker/isissue/6647
skripta po zagonu
DOCKER_OPTS =
DOCKER_SOCKET =
če [-f / etc / default / $ UPSTART_JOB]; torej
. / etc / default / $ UPSTART_JOB
fi

če! printf "% s" "$ DOCKER_OPTS" | grep -qE -e ‘-H | –host’; torej
DOCKER_SOCKET = / domov / geekflare / docker.sock
drugače
DOCKER_SOCKET = $ (printf "% s" "$ DOCKER_OPTS" | grep -oP -e ‘(-H | –host) \ W * unix: // \ K (\ S +)’ | sed 1q)
fi

če [-n "$ DOCKER_SOCKET" ]; torej
medtem ! [-e "$ DOCKER_SOCKET" ]; stori
initctl status $ UPSTART_JOB | grep -qE "(stop | ponovno zaplati) /" && izhod 1
odmev "Čakam na $ DOCKER_SOCKET"
spanja 0,1
Končano
odmev "$ DOCKER_SOCKET je pripravljen"
fi
končni skript

  • Uredite datoteko docker.socket, ki se nahaja na / lib / systemd / system / s posodobljeno lokacijo datoteke docker.sock.

[zaščitena e-pošta]: ~ $ sudo gedit /lib/systemd/system/docker.socket

[Enota]

Opis = Docker Socket za API

PartOf = docker.service

[Vtičnica]

ListenStream = / domov / geekflare / docker.sock

SocketMode = 0660

SocketUser = root

SocketGroup = docker

[Namestitev]

WantedBy = sockets.target

Zaženite spodnji ukaz, da posodobite spremembe (lokacija datoteke docker nogavice).

[zaščitena e-pošta]: ~ $ sudo systemctl ponovno naloži daemon

Začni Docker

Začnimo storitev dockerja in preverimo stanje, če se je zagnalo. Na koncu dnevnika stanja, natisnjenega na terminalu, bo prikazana posodobljena pot datoteke docker.sock.

[zaščitena e-pošta]: ~ $ sudo servis docker start
[zaščitena e-pošta]: ~ status dockerja za storitve $ sudo

docker.service – Docker Engine Container Engine
Naloženo: naloženo (/lib/systemd/system/docker.service; omogočeno; prednastavitev ponudnika: omogočeno)
Aktivno: aktivno (deluje) od sobote 2019-11-23 15:39:36 EST; Pred 3 leti
Dokumenti: https://docs.docker.com
Glavni PID: 8840 (dockerd)
Naloge: 17
Pomnilnik: 47.6M
CGroup: /system.slice/docker.service
└─8840 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

23. november 15:39:35 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 35.091941184-05: 00" nivo = opozorilo msg ="Vaše jedro ne podpira časa izvajanja cgroup rt"
23. november 15:39:35 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 35.093149218-05: 00" nivo = info msg ="Nalaganje posod: zagon."
23. november 15:39:35 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 35.957842188-05: 00" nivo = info msg ="Privzeti most (docker0) je dodeljen z naslovom IP 172.17.0.0/16. Daemon
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.078753190-05: 00" nivo = info msg ="Nalaganje posod: končano."
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.664727326-05: 00" nivo = info msg ="Docker demon" commit = 481bc77 graphdriver (s) = overlay2 različica = 18.09.6
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.817929464-05: 00" nivo = napaka msg ="grozd zaključen z napako: napaka med nalaganjem certifikata TLS v / var / lib / do
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.820439024-05: 00" nivo = napaka msg ="komponente roja ni bilo mogoče zagnati" napaka ="napaka med nalaganjem certifikata TLS
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.820821712-05: 00" nivo = info msg ="Daemon je zaključil inicializacijo"
23. november 15:39:36 geekflare systemd [1]: Zagnani motor Docker Application Container Engine.
23. november 15:39:36 geekflare dockerd [8840]: čas ="2019-11-23T15: 39: 36.883382952-05: 00" nivo = info msg ="API poslušajte /home/geekflare/docker.sock"

Zaženite ukaz ls na poti datoteke docker.sock, samo da potrdite, da je ta datoteka nastala ob zagonu storitve docker..

[zaščitena e-pošta]: ~ $ ls -l
skupaj 466832
-rw-r – r– 1 geekflare geekflare 0, 23. oktober 05:32]
drwxr-xr-x 9 tomcat tomcat 4096 18. november 14:30 apache-tomcat-9.0.27
-rw-r – r– 1 geekflare geekflare 10982406 7. oktober 06:21 apache-tomcat-9.0.27.tar.gz
drwxr-xr-x 8 geekflare geekflare 4096 oktober 23 06:05 chef-repo
-rw-r – r– 1 geekflare geekflare 252269838 1. juli 15:16 chef-server-core_13.0.17-1_amd64.deb
-rw-r – r– 1 geekflare geekflare 129713682 27. dec 2018 chef-workstation_0.2.43-1_amd64.deb
drwxr-xr-x 2 geekflare geekflare 4096 oktober 23. 2018 namizje
-rw-r – r– 1 geekflare geekflare 726 27. juli 15:10 Dockerfile
srw-rw —- 1 korenski docker 0, 23. november 15:39 docker.sock
drwxr-xr-x 2 geekflare geekflare 4096 oktober 23 2018 Dokumenti
drwxr-xr-x 2 geekflare geekflare 4096 julij 20 18:20 Prenosi
-rw-r – r– 1 geekflare geekflare 8980 23. okt. 2018 primeri.desktop

Uspešno ste posodobili lokacijo datoteke docker nogavice.

Če se želite naučiti Dockerja, vendar je zaseden, preverite to tečaj strmoglavljenja.

Oznake:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map