Cum se schimbă locația fișierului sock Docker?

Vă întrebați cum puteți schimba calea fișierului docker.sock?


Ce este Docker Socket?

Fișierul socket Docker se află la /var/run/docker.sock

Acesta este utilizat pentru a comunica în mod implicit cu demonul principal (docker). Este punctul de intrare pentru o API Docker. Această soclu este folosită de Docker CLI în mod implicit pentru a executa comenzile docker.

Permiteți-mi să vă arăt cum puteți schimba locația fișierului sock docker.

Oprește Docker

În primul rând, dacă serviciul de docker rulează pe sistemul dvs., opriți-l. Pentru a confirma că s-a oprit, executați comanda de stare.

[Email protected]: ~ $ sudo serviciu de oprire
[Email protected]: ~ $ starea de andocare a serviciului sudo
● docker.service – Docker Application Container Engine
Încărcat: încărcat (/lib/systemd/system/docker.service; activat; presetarea furnizorului: activată)
Activ: inactiv (mort) din Sat 2019-11-23 15:37:00 EST; Acum 4s
Documente: https://docs.docker.com
Proces: 1474 ExecStart = / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock (cod = ieșit, status = 0 / SUCCESS)
PID principal: 1474 (cod = ieșit, status = 0 / SUCCESS)

10 noiembrie 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" nivel = eroare msg ="2019/11/10 06:56:49 Intrarea în go-plugins-helper
10 noiembrie 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" nivel = eroare msg ="timp = \"2019-11-10T06: 56: 49Z \" level = debug msg =
10 noiembrie 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" nivel = eroare msg ="timp = \"2019-11-10T06: 56: 49Z \" nivel = eroare msg =
10 noiembrie 01:57:23 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 23.635519865-05: 00" level = info msg ="Container 3141793b98f315dc90a57d81006
10 noiembrie 01:57:24 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 24.091797103-05: 00" level = info msg ="ignorând evenimentul" Modul = libcontainerd
23 noiembrie 15:36:56 geekflare systemd [1]: Oprirea motorului de conținere a aplicațiilor Docker…
23 noiembrie 15:36:56 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 56.992795411-05: 00" level = info msg ="Semnal de procesare „încheiat”"
23 noiembrie 15:36:58 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 58.234014533-05: 00" level = info msg ="ignorând evenimentul" Modul = libcontainerd
23 noiembrie 15:37:00 geekflare dockerd [1474]: time ="2019-11-23T15: 37: 00.403572098-05: 00" level = info msg ="ignorând evenimentul" Modul = libcontainerd
23 noiembrie, 15:37:00, geekflare systemd [1]: motorul container pentru aplicații opriți.

Editați docker.conf și docker.socket

Următoarea, modific calea de la /var/run/docker.sock la /home/geekflare/docker.sock

  • Editați fișierul docker.conf din directorul etc / init / init / cu noua locație. Trebuie doar să editați o linie cu calea DOCKER_SOCKET.

[Email protected]: ~ $ sudo gedit /etc/init/docker.conf

Descriere "Daemon Docker"

start on (sistem de fișiere și net-device-up IFACE! = lo)
opriți-vă pe runlevel [! 2345]

limita nofile 524288 1048576

# Având limite non-zero provoacă probleme de performanță din cauza contului general de contabilitate
# în sâmbure. Vă recomandăm să utilizați cgroups pentru a face contabilitate locală pentru containere.
limita nproc nelimitat nelimitat

respawn

uciderea timpului 20

script înainte de pornire
# vezi și https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
if grep -v ‘^ #’ / etc / fstab | grep -q cgroup \
|| [! -e / proc / cgroups] \
|| [! -d / sys / fs / cgroup]; apoi
iesirea 0
Fi
dacă ! mountpoint -q / sys / fs / cgroup; apoi
mount -t tmpfs -o uid = 0, gid = 0, mode = 0755 cgroup / sys / fs / cgroup
Fi
(
cd / sys / fs / cgroup
pentru sys în $ (awk ‘! / ^ # / {if ($ 4 == 1) imprimați $ 1}’ / proc / cgroups); do
mkdir -p $ sys
dacă ! mountpoint -q $ sys; apoi
dacă ! mount -n -t cgroup -o $ sys cgroup $ sys; apoi
rmdir $ sys || Adevărat
Fi
Fi
Terminat
)
script final

scenariu
# modificați-le în / etc / default / $ UPSTART_JOB (/ etc / default / docker)
DOCKERD = / usr / bin / dockerd
DOCKER_OPTS =
dacă [-f / etc / default / $ UPSTART_JOB]; apoi
. / Etc / default / $ UPSTART_JOB
Fi
Exec "$ DOCKERD" $ DOCKER_OPTS –raw-jurnalele
script final

# Nu emite "a început" eveniment până când docker.sock este gata.
# Vezi https://github.com/docker/docker/issues/6647
script post-start
DOCKER_OPTS =
DOCKER_SOCKET =
dacă [-f / etc / default / $ UPSTART_JOB]; apoi
. / Etc / default / $ UPSTART_JOB
Fi

dacă ! printf "% s" "$ DOCKER_OPTS" | grep -qE -e ‘-H | –host’; apoi
DOCKER_SOCKET = / home / geekflare / docker.sock
altfel
DOCKER_SOCKET = $ (printf "% s" "$ DOCKER_OPTS" | grep -oP -e ‘(-H | –host) \ W * unix: // \ K (\ S +)’ | 1q)
Fi

dacă [-n "$ DOCKER_SOCKET" ]; apoi
in timp ce ! [-e "$ DOCKER_SOCKET" ]; do
status initctl $ UPSTART_JOB | grep -qE "(Oprire | respawn) /" && iesirea 1
ecou "Așteptați $ DOCKER_SOCKET"
somn 0,1
Terminat
ecou "$ DOCKER_SOCKET a crescut"
Fi
script final

  • Editați fișierul docker.socket localizat la / lib / systemd / system / cu locația actualizată a fișierului docker.sock.

[Email protected]: ~ $ sudo gedit /lib/systemd/system/docker.socket

[Unitate]

Descriere = Docker Socket pentru API

PartOf = docker.service

[Priză]

ListenStream = / home / geekflare / docker.sock

SocketMode = 0660

SocketUser = root

SocketGroup = docher

[Instalare]

WantedBy = sockets.target

Rulați comanda de mai jos pentru a actualiza modificările (locația fișierului sock docker).

[Email protected]: ~ $ sudo systemctl daemon-reload

Porniți Docker

Să pornim serviciul de docker și să verificăm dacă a început. Veți vedea la sfârșitul jurnalului de stare, imprimat pe terminal, va oferi calea actualizată a fișierului docker.sock.

[Email protected]: ~ $ pornire serviciu sudo docker
[Email protected]: ~ $ starea de andocare a serviciului sudo

docker.service – Docker Application Container Engine
Încărcat: încărcat (/lib/systemd/system/docker.service; activat; presetarea furnizorului: activată)
Activ: activ (în funcțiune) din Sat 2019-11-23 15:39:36 EST; Acum 3 zile
Documente: https://docs.docker.com
PID principal: 8840 (dockerd)
Sarcini: 17
Memorie: 47,6 M
CGroup: /system.slice/docker.service
└─8840 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

23 noiembrie 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.091941184-05: 00" level = avertizare msg ="Nucleul dvs. nu suportă cgroup rt runtime"
23 noiembrie 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.093149218-05: 00" level = info msg ="Încărcarea containerelor: pornire."
23 noiembrie 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.957842188-05: 00" level = info msg ="Puntea implicită (docker0) este atribuită cu o adresă IP 172.17.0.0/16. daemon
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.078753190-05: 00" level = info msg ="Încărcarea containerelor: gata."
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.664727326-05: 00" level = info msg ="Daemon Docker" commit = 481bc77 graphdriver (s) = overlay2 version = 18.09.6
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.817929464-05: 00" nivel = eroare msg ="cluster a ieșit cu eroare: eroare la încărcarea certificatului TLS în / var / lib / do
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820439024-05: 00" nivel = eroare msg ="componenta roată nu a putut fi pornită" eroare ="eroare la încărcarea certificării TLS
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820821712-05: 00" level = info msg ="Daemon a finalizat inițializarea"
23 noiembrie 15:39:36 geekflare systemd [1]: Pornit motorul de conținere a aplicațiilor Docker.
23 noiembrie 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.883382952-05: 00" level = info msg ="API ascultați /home/geekflare/docker.sock"

Rulați comanda ls pe calea fișierului docker.sock, doar pentru a confirma că acest fișier a fost creat atunci când ați început serviciul docker.

[Email protected]: ~ $ ls -l
total 466832
-rw-r – r– 1 geekflare geekflare 0 23 oct. 05:32]
drwxr-xr-x 9 tomcat tomcat 4096 18 nov. 14:30 apache-tomcat-9.0.27
-rw-r – r– 1 geekflare geekflare 10982406 7 oct. 06:21 apache-tomcat-9.0.27.tar.gz
drwxr-xr-x 8 geekflare geekflare 4096 23 oct. 06:05 chef-repo
-rw-r – r– 1 geekflare geekflare 252269838 1 iul 15:16 chef-server-core_13.0.17-1_amd64.deb
-rw-r – r– 1 geekflare geekflare 129713682 27 decembrie 2018 chef-workstation_0.2.43-1_amd64.deb
drwxr-xr-x 2 geekflare geekflare 4096 23 oct. 2018 Desktop
-rw-r – r– 1 geekflare geekflare 726 iulie 27 15:10 Dockerfile
srw-rw —- 1 root docker 0 23 nov 15:39 docker.sock
drwxr-xr-x 2 geekflare geekflare 4096 23 oct. 2018 Documente
drwxr-xr-x 2 geekflare geekflare 4096 20 iul 18:20 Descărcări
-rw-r – r– 1 geekflare geekflare 8980 23 oct. 2018 exemple.desktop

Ați actualizat cu succes locația fișierului sock docker.

Dacă sunteți în căutarea de a învăța Docker, dar ocupat, verificați acest lucru curs intensiv.

ETICHETE:

  • Docher

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