Paano baguhin ang lokasyon ng file ng sock ng Docker?

Nagtataka kung paano baguhin ang landas ng file ng docker.sock?


Ano ang Docker Socket?

Ang docker socket file ay matatagpuan sa /var/run/docker.sock

Ginagamit ito upang makipag-usap sa pangunahing docker daemon (proseso) nang default. Ito ang punto ng pagpasok para sa isang Docker API. Ang socket na ito ay ginagamit ng Docker CLI sa pamamagitan ng default upang isagawa ang mga utos ng docker.

Hayaan akong ipakita sa iyo kung paano baguhin ang lokasyon ng docker sock file.

Itigil ang Docker

Una, kung ang serbisyo ng docker ay tumatakbo sa iyong system, itigil mo ito. Upang kumpirmahin ito ay tumigil, patakbuhin ang status command.

[protektado ng email]: ~ $ sudo service docker stop
[protektado ng email]: ~ $ status ng docker ng serbisyo ng sudo
● docker.service – Engineer ng Application ng Docker
Na-load: na-load (/lib/systemd/system/docker.service; pinagana; preset ng nagtitinda: pinagana)
Aktibo: hindi aktibo (patay) mula noong Sat 2019-11-23 15:37:00 EST; 4s ago
Mga Doktor: https://docs.docker.com
Proseso: 1474 ExecStart = / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock (code = lumabas, katayuan = 0 / KASALUAN)
Pangunahing PID: 1474 (code = lumabas, katayuan = 0 / KASALUKSAN)

Nov 10 01:56:49 geekflare dockerd [1474]: oras ="2019-11-10T01: 56: 49-05: 00" antas = error msg ="2019/11/10 06:56:49 Ang pagpasok ng go-plugins-helper
Nov 10 01:56:49 geekflare dockerd [1474]: oras ="2019-11-10T01: 56: 49-05: 00" antas = error msg ="oras = \"2019-11-10T06: 56: 49Z \" antas = debug msg =
Nov 10 01:56:49 geekflare dockerd [1474]: oras ="2019-11-10T01: 56: 49-05: 00" antas = error msg ="oras = \"2019-11-10T06: 56: 49Z \" antas = error msg =
Nov 10 01:57:23 geekflare dockerd [1474]: oras ="2019-11-10T01: 57: 23.635519865-05: 00" antas = impormasyon msg ="Lalagyan 3141793b98f315dc90a57d81006
Nov 10 01:57:24 geekflare dockerd [1474]: oras ="2019-11-10T01: 57: 24.091797103-05: 00" antas = impormasyon msg ="hindi papansin ang kaganapan" module = libcontainerd
Nobyembre 23 15:36:56 geekflare systemd [1]: Tumigil sa Application Engine Container Engineer…
Nov 23 15:36:56 geekflare dockerd [1474]: oras ="2019-11-23T15: 36: 56.992795411-05: 00" antas = impormasyon msg ="’Natapos’ ang pagproseso ng signal"
Nov 23 15:36:58 geekflare dockerd [1474]: oras ="2019-11-23T15: 36: 58.234014533-05: 00" antas = impormasyon msg ="hindi papansin ang kaganapan" module = libcontainerd
Nov 23 15:37:00 geekflare dockerd [1474]: oras ="2019-11-23T15: 37: 00.403572098-05: 00" antas = impormasyon msg ="hindi papansin ang kaganapan" module = libcontainerd
Nov 23 15:37:00 geekflare systemd [1]: Huminto ang Application Container Engine ng Application.

I-edit ang docker.conf at docker.socket

Ang sumusunod, binabago ko ang landas mula sa /var/run/docker.sock sa /home/geekflare/docker.sock

  • I-edit ang file ng docker.conf sa loob / atbp / init / direktoryo sa bagong lokasyon. Kailangan mo lamang i-edit ang isang linya gamit ang DOCKER_SOCKET path.

[protektado ng email]: ~ $ sudo gedit /etc/init/docker.conf

paglalarawan "Docker daemon"

magsimula sa (filesystem at net-device-up IFACE! = lo)
huminto sa runlevel [! 2345]

limitahan ang nofile 524288 1048576

# Ang pagkakaroon ng mga limitasyong walang zero ay nagiging sanhi ng mga problema sa pagganap dahil sa overhead ng accounting
# sa kernel. Inirerekumenda namin ang paggamit ng mga pangkat upang gawin ang container-local accounting.
walang limitasyong nproc walang limitasyong

huminga

pumatay ng oras 20

pre-start script
# tingnan din ang https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
kung grep -v ‘^ #’ / etc / fstab | grep -q cgroup \
|| [! -e / proc / cgroups \
|| [! -d / sys / fs / cgroup]; pagkatapos
labasan 0
fi
kung! mountpoint -q / sys / fs / cgroup; pagkatapos
mount -t tmpfs -o uid = 0, gid = 0, mode = 0755 cgroup / sys / fs / cgroup
fi
(
cd / sys / fs / cgroup
para sa sys sa $ (awk ‘! / ^ # / {kung ($ 4 == 1) i-print ang $ 1}’ / proc / cgroups); gawin
mkdir -p $ sys
kung! mountpoint -q $ sys; pagkatapos
kung! mount -n -t cgroup -o $ sys cgroup $ sys; pagkatapos
rmdir $ sys || totoo
fi
fi
tapos na
)
pagtatapos ng script

script
# baguhin ito sa / atbp / default / $ UPSTART_JOB (/ atbp / default / docker)
DOCKERD = / usr / bin / dockerd
DOCKER_OPTS =
kung [-f / etc / default / $ UPSTART_JOB]; pagkatapos
. / etc / default / $ UPSTART_JOB
fi
exec "$ DOCKERD" $ DOCKER_OPTS – mga log-log
pagtatapos ng script

# Huwag magpalabas "nagsimula" kaganapan hanggang handa na si docker.sock.
# Tingnan ang https://github.com/docker/docker/issues/6647
post-start script
DOCKER_OPTS =
DOCKER_SOCKET =
kung [-f / etc / default / $ UPSTART_JOB]; pagkatapos
. / etc / default / $ UPSTART_JOB
fi

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

kung [-n "$ DOCKER_SOCKET" ]; pagkatapos
habang! [-e "$ DOCKER_SOCKET" ]; gawin
katayuan ng initctl $ UPSTART_JOB | grep -qE "(huminto | respawn) /" && labasan 1
sigaw "Naghihintay para sa $ DOCKER_SOCKET"
tulog na 0.1
tapos na
sigaw "$ DOCKER_SOCKET ay up"
fi
pagtatapos ng script

  • I-edit ang file ng docker.socket na matatagpuan sa / lib / systemd / system / kasama ang na-update na lokasyon ng file ng docker.sock.

[protektado ng email]: ~ $ sudo gedit /lib/systemd/system/docker.socket

[Yunit]

Paglalarawan = Docker Socket para sa API

PartOf = docker.service

[Socket]

MakinigStream = / home / geekflare / docker.sock

SocketMode = 0660

SocketUser = ugat

SocketGroup = pantalan

[I-install]

WantedBy = sockets.target

Patakbuhin ang utos sa ibaba upang i-update ang mga pagbabago (lokasyon ng docker sock file).

[protektado ng email]: ~ $ sudo systemctl daemon-reload

Simulan ang Docker

Simulan natin ang serbisyo ng docker, at suriin ang katayuan kung nagsimula ito. Makikita mo sa dulo ng status log na nakalimbag sa terminal ay magbibigay ng na-update na landas ng file ng docker.sock.

[protektado ng email]: ~ $ sudo service docker pagsisimula
[protektado ng email]: ~ $ status ng docker ng serbisyo ng sudo

docker.service – Engineer ng Application ng Docker
Na-load: na-load (/lib/systemd/system/docker.service; pinagana; preset ng nagtitinda: pinagana)
Aktibo: aktibo (tumatakbo) mula noong Sat 2019-11-23 15:39:36 EST; 3s ago
Mga Doktor: https://docs.docker.com
Pangunahing PID: 8840 (dockerd)
Mga Gawain: 17
Memorya: 47.6M
CGroup: /system.slice/docker.service
└─8840 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

Nov 23 15:39:35 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 35.091941184-05: 00" antas = babala ng msg ="Ang iyong kernel ay hindi sumusuporta sa cgroup rt runtime"
Nov 23 15:39:35 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 35.093149218-05: 00" antas = impormasyon msg ="Naglo-load ng mga lalagyan: magsimula."
Nov 23 15:39:35 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 35.957842188-05: 00" antas = impormasyon msg ="Ang tulay ng Default (docker0) ay itinalaga gamit ang isang IP address 172.17.0.0/16. Daemon
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.078753190-05: 00" antas = impormasyon msg ="Naglo-load ng mga lalagyan: tapos na."
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.664727326-05: 00" antas = impormasyon msg ="Docker daemon" gumawa = 481bc77 graphdriver (s) = overlay2 bersyon = 18.09.6
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.817929464-05: 00" antas = error msg ="cluster na lumabas sa error: error habang naglo-load ng sertipiko ng TLS sa / var / lib / gawin
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.820439024-05: 00" antas = error msg ="hindi maaaring magsimula ang mga bahagi ng pulutong" error ="error habang naglo-load ng sertipikasyon ng TLS
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.820821712-05: 00" antas = impormasyon msg ="Nakumpleto na ni Daemon ang inisyal"
Nov 23 15:39:36 geekflare systemd [1]: Sinimulan ang Docker Application Container Engine.
Nob 23 15:39:36 geekflare dockerd [8840]: oras ="2019-11-23T15: 39: 36.883382952-05: 00" antas = impormasyon msg ="Makinig sa API /home/geekflare/docker.sock"

Patakbuhin ang utos ng ls sa landas ng docker.sock file, upang kumpirmahin na ang file na ito ay nilikha noong sinimulan mo ang serbisyo ng docker.

[protektado ng email]: ~ $ ls -l
kabuuang 466832
-rw-r – r– 1 geekflare geekflare 0 Oct 23 05:32]
drwxr-xr-x 9 tomcat tomcat 4096 Nov 18 14:30 apache-tomcat-9.0.27
-rw-r – r– 1 geekflare geekflare 10982406 Oct 7 06:21 apache-tomcat-9.0.27.tar.gz
drwxr-xr-x 8 geekflare geekflare 4096 Oct 23 06:05 chef-repo
-rw-r – r– 1 geekflare geekflare 252269838 Jul 1 15:16 chef-server-core_13.0.17-1_amd64.deb
-rw-r – r– 1 geekflare geekflare 129713682 Dis 27 2018 chef-workstation_0.2.43-1_amd64.deb
drwxr-xr-x 2 geekflare geekflare 4096 Oct 23 2018 Desktop
-rw-r – r– 1 geekflare geekflare 726 Jul 27 15:10 Dockerfile
srw-rw —- 1 root docker 0 Nov 23 15:39 docker.sock
drwxr-xr-x 2 geekflare geekflare 4096 Oct 23 2018 Mga dokumento
drwxr-xr-x 2 geekflare geekflare 4096 Jul 20 18:20 Mga pag-download
-rw-r – r– 1 geekflare geekflare 8980 Oct 23 2018 halimbawa.desktop

Matagumpay mong na-update ang lokasyon ng docker sock file.

Kung nais mong malaman ang Docker ngunit abala, pagkatapos suriin ito kurso ng pag-crash.

TAGS:

  • 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