Bagaimana cara mengubah lokasi file Docker sock?

Ingin tahu bagaimana mengubah path file docker.sock?


Apa itu Docker Socket?

File soket Docker terletak di /var/run/docker.sock

Ini digunakan untuk berkomunikasi dengan daemon buruh pelabuhan utama (proses) secara default. Ini adalah titik masuk untuk API Docker. Soket ini digunakan oleh Docker CLI secara default untuk menjalankan perintah docker.

Biarkan saya menunjukkan kepada Anda bagaimana mengubah lokasi file kaus kaki buruh pelabuhan.

Hentikan Docker

Pertama, jika layanan buruh pelabuhan berjalan di sistem Anda, hentikan. Untuk mengkonfirmasi itu telah berhenti, jalankan perintah status.

[dilindungi email]: ~ $ sudo berhenti buruh pelabuhan layanan
[dilindungi email]: ~ $ sudo status buruh pelabuhan
● docker.service – Docker Application Container Engine
Dimuat: dimuat (/lib/systemd/system/docker.service; diaktifkan; preset vendor: diaktifkan)
Aktif: tidak aktif (mati) sejak Sat 2019-11-23 15:37:00 EST; 4s yang lalu
Documents: https://docs.docker.com
Proses: 1474 ExecStart = / usr / bin / dockerd -H fd: // –containerd = / run / containerd / berisierd.sock (kode = keluar, status = 0 / SUKSES)
PID Utama: 1474 (kode = keluar, status = 0 / SUKSES)

10 Nov 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" level = error msg ="2019/11/10 06:56:49 Memasuki go-plugins-helper
10 Nov 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" level = error msg ="waktu = \"2019-11-10T06: 56: 49Z \" level = debug msg =
10 Nov 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" level = error msg ="waktu = \"2019-11-10T06: 56: 49Z \" level = error msg =
10 Nov 01:57:23 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 23.635519865-05: 00" level = info msg ="Wadah 3141793b98f315dc90a57d81006
10 Nov 01:57:24 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 24.091797103-05: 00" level = info msg ="mengabaikan acara" module = libcontainerd
23 Nov 15:36:56 geekflare systemd [1]: Menghentikan Docker Application Container Engine…
23 Nov 15:36:56 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 56.992795411-05: 00" level = info msg ="Memproses sinyal ‘terminated’"
23 Nov 15:36:58 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 58.234014533-05: 00" level = info msg ="mengabaikan acara" module = libcontainerd
23 Nov 15:37:00 geekflare dockerd [1474]: time ="2019-11-23T15: 37: 00.403572098-05: 00" level = info msg ="mengabaikan acara" module = libcontainerd
23 Nov 15:37:00 geekflare systemd [1]: Mesin Container Aplikasi Docker Terhenti.

Edit docker.conf dan docker.socket

Berikut ini, saya mengubah path dari /var/run/docker.sock ke /home/geekflare/docker.sock

  • Edit file docker.conf di dalam direktori / etc / init / dengan lokasi baru. Anda hanya perlu mengedit satu baris dengan jalur DOCKER_SOCKET.

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

deskripsi "Daemon Docker"

mulai dari (filesystem dan net-device-up IFACE! = lo)
berhenti di runlevel [! 2345]

batas nofile 524288 1048576

# Memiliki batas tidak nol menyebabkan masalah kinerja karena overhead akuntansi
# di dalam kernel. Kami merekomendasikan penggunaan cgroup untuk melakukan akuntansi kontainer-lokal.
batasi nproc tak terbatas tak terbatas

respawn

bunuh batas waktu 20

skrip pra-mulai
# lihat juga https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
jika grep -v ‘^ #’ / etc / fstab | grep -q cgroup \
|| [! -e / proc / cgroups] \
|| [! -d / sys / fs / cgroup]; kemudian
keluar 0
fi
jika! mountpoint -q / sys / fs / cgroup; kemudian
mount -t tmpfs -o uid = 0, gid = 0, mode = 0755 cgroup / sys / fs / cgroup
fi
(
cd / sys / fs / cgroup
untuk sys dalam $ (awk ‘! / ^ # / {if ($ 4 == 1) cetak $ 1}’ / proc / cgroups; melakukan
mkdir -p $ sys
jika! mountpoint -q $ sys; kemudian
jika! mount -n -t cgroup -o $ sys cgroup $ sys; kemudian
rmdir $ sys || benar
fi
fi
selesai
)
akhiri skrip

naskah
# modifikasi ini di / etc / default / $ UPSTART_JOB (/ etc / default / docker)
DOCKERD = / usr / bin / dockerd
DOCKER_OPTS =
jika [-f / etc / default / $ UPSTART_JOB]; kemudian
. / etc / default / $ UPSTART_JOB
fi
eksekutif "$ DOCKERD" $ DOCKER_OPTS –raw-log
akhiri skrip

# Jangan dipancarkan "mulai" acara sampai docker.sock siap.
# Lihat https://github.com/docker/docker/issues/6647
skrip pasca-mulai
DOCKER_OPTS =
DOCKER_SOCKET =
jika [-f / etc / default / $ UPSTART_JOB]; kemudian
. / etc / default / $ UPSTART_JOB
fi

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

jika [-n "$ DOCKER_SOCKET" ]; kemudian
sementara! [-e "$ DOCKER_SOCKET" ]; melakukan
status initctl $ UPSTART_JOB | grep -qE "(hentikan | respawn) /" && keluar 1
gema "Menunggu $ DOCKER_SOCKET"
tidur 0,1
selesai
gema "$ DOCKER_SOCKET sudah habis"
fi
akhiri skrip

  • Edit file docker.socket yang terletak di / lib / systemd / system / dengan lokasi file docker.sock yang diperbarui.

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

[Satuan]

Description = Docker Socket untuk API

PartOf = docker.service

[Stopkontak]

ListenStream = / home / geekflare / docker.sock

SocketMode = 0660

SocketUser = root

SocketGroup = buruh pelabuhan

[Install]

WantedBy = sockets.target

Jalankan perintah di bawah ini untuk memperbarui perubahan (lokasi file docker sock).

[dilindungi email]: ~ $ sudo systemctl daemon-reload

Mulai Docker

Mari kita mulai layanan buruh pelabuhan, dan periksa statusnya jika sudah dimulai. Anda akan melihat di akhir log status yang dicetak pada terminal akan memberikan jalur yang diperbarui dari file docker.sock.

[dilindungi email]: ~ $ sudo docker layanan mulai
[dilindungi email]: ~ $ sudo status buruh pelabuhan

docker.service – Docker Application Container Engine
Dimuat: dimuat (/lib/systemd/system/docker.service; diaktifkan; preset vendor: diaktifkan)
Aktif: aktif (berjalan) sejak Sat 2019-11-23 15:39:36 EST; 3s yang lalu
Documents: https://docs.docker.com
PID Utama: 8840 (dockerd)
Tugas: 17
Memori: 47,6M
CGroup: /system.slice/docker.service
└─8840 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

23 Nov 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.091941184-05: 00" level = peringatan msg ="Kernel Anda tidak mendukung runtime cgroup rt"
23 Nov 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.093149218-05: 00" level = info msg ="Memuat kontainer: mulai."
23 Nov 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.957842188-05: 00" level = info msg ="Bridge default (docker0) ditetapkan dengan alamat IP 172.17.0.0/16. Daemon
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.078753190-05: 00" level = info msg ="Memuat kontainer: selesai."
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.664727326-05: 00" level = info msg ="Daemon Docker" commit = 481bc77 graphdriver = overlay2 versi = 18.09.6
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.817929464-05: 00" level = error msg ="klaster keluar dengan kesalahan: kesalahan saat memuat sertifikat TLS di / var / lib / do
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820439024-05: 00" level = error msg ="komponen swarm tidak dapat dimulai" kesalahan ="kesalahan saat memuat sertifikat TLS
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820821712-05: 00" level = info msg ="Daemon telah menyelesaikan inisialisasi"
23 Nov 15:39:36 geekflare systemd [1]: Memulai Docker Application Container Engine.
23 Nov 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.883382952-05: 00" level = info msg ="API dengarkan /home/geekflare/docker.sock"

Jalankan perintah ls di jalur file docker.sock, hanya untuk mengonfirmasi bahwa file ini dibuat ketika Anda memulai layanan docker.

[dilindungi email]: ~ $ ls -l
total 466832
-rw-r – r– 1 geekflare geekflare 0 Okt 23 05:32]
drwxr-xr-x 9 tomcat tomcat 4096 18 Nov 18 14:30 apache-tomcat-9.0.27
-rw-r – r– 1 geekflare geekflare 10982406 7 Okt 06:21 apache-tomcat-9.0.27.tar.gz
drwxr-xr-x 8 geekflare geekflare 4096 23 Okt 06:05 chef-repo
-rw-r – r– 1 geekflare geekflare 252269838 1 Jul 15:15 chef-server-core_13.0.17-1_amd64.deb
-rw-r – r– 1 geekflare geekflare 129713682 27 Des 2018 chef-workstation_0.2.43-1_amd64.deb
drwxr-xr-x 2 geekflare geekflare 4096 23 Okt 2018 Desktop
-rw-r – r– 1 geekflare geekflare 726 27 Jul 15:10 Dockerfile
srw-rw —- 1 root docker 0 Nov 23 15:39 docker.sock
drwxr-xr-x 2 geekflare geekflare 4096 23 Okt 2018 Dokumen
drwxr-xr-x 2 geekflare geekflare 4096 20 Juli 18:20 Unduhan
-rw-r – r– 1 geekflare geekflare 8980 23 Okt 2018 example.desktop

Anda telah berhasil memperbarui lokasi file kaus buruh pelabuhan.

Jika Anda ingin mempelajari Docker tetapi sibuk, lihat ini kursus kilat.

TAGS:

  • Buruh pelabuhan

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