Làm thế nào để thay đổi vị trí tập tin Docker sock?

Tự hỏi làm thế nào để thay đổi đường dẫn tệp docker.sock?


Docker socket là gì?

Tệp ổ cắm Docker được đặt tại /var/run/docker.sock

Nó được sử dụng để giao tiếp với trình nền (docker) chính theo mặc định. Đây là điểm vào của API Docker. Ổ cắm này được Docker CLI sử dụng theo mặc định để thực thi các lệnh docker.

Hãy để tôi chỉ cho bạn cách thay đổi vị trí của tệp sock docker.

Dừng Docker

Đầu tiên, nếu dịch vụ docker đang chạy trên hệ thống của bạn, hãy dừng nó. Để xác nhận nó đã dừng, chạy lệnh trạng thái.

[email được bảo vệ]: ~ $ sudo dịch vụ dừng bến
[email được bảo vệ]: ~ $ sudo trạng thái docker dịch vụ
● docker.service – Công cụ chứa ứng dụng Docker
Đã tải: đã tải (/lib/systemd/system/docker.service; enable; nhà cung cấp cài sẵn: đã bật)
Hoạt động: không hoạt động (đã chết) kể từ Thứ bảy 2019-11-23 15:37:00 EST; 4 giây trước
Tài liệu: https://docs.docker.com
Quá trình: 1474 ExecStart = / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock (code = exited, status = 0 / SUCCESS)
PID chính: 1474 (mã = thoát, trạng thái = 0 / THÀNH CÔNG)

Ngày 10 tháng 11 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" mức = thông báo lỗi ="2019/11/10 06:56:49 Nhập go-plugins-helper
Ngày 10 tháng 11 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" mức = thông báo lỗi ="thời gian = \"2019-11-10T06: 56: 49Z \" level = gỡ lỗi tin nhắn =
Ngày 10 tháng 11 01:56:49 geekflare dockerd [1474]: time ="2019-11-10T01: 56: 49-05: 00" mức = thông báo lỗi ="thời gian = \"2019-11-10T06: 56: 49Z \" mức = thông báo lỗi =
Ngày 10 tháng 11 01:57:23 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 23.635519865-05: 00" cấp độ = thông tin tin nhắn ="Container 3141793b98f315dc90a57d81006
Ngày 10 tháng 11 01:57:24 geekflare dockerd [1474]: time ="2019-11-10T01: 57: 24.091797103-05: 00" cấp độ = thông tin tin nhắn ="bỏ qua sự kiện" mô-đun = libcontainerd
23 tháng 11 15:36:56 geekflare systemd [1]: Dừng công cụ chứa ứng dụng Docker…
23 tháng 11 15:36:56 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 56.992795411-05: 00" cấp độ = thông tin tin nhắn ="Xử lý tín hiệu ‘chấm dứt’"
23 tháng 11 15:36:58 geekflare dockerd [1474]: time ="2019-11-23T15: 36: 58.234014533-05: 00" cấp độ = thông tin tin nhắn ="bỏ qua sự kiện" mô-đun = libcontainerd
23 tháng 11 15:37:00 geekflare dockerd [1474]: time ="2019-11-23T15: 37: 00.403572098-05: 00" cấp độ = thông tin tin nhắn ="bỏ qua sự kiện" mô-đun = libcontainerd
23 tháng 11 15:37:00 geekflare systemd [1]: Công cụ chứa ứng dụng Docker bị dừng.

Chỉnh sửa docker.conf và docker.socket

Sau đây, tôi đang thay đổi đường dẫn từ /var/run/docker.sock thành /home/geekflare/docker.sock

  • Chỉnh sửa tệp docker.conf bên trong thư mục / etc / init / với vị trí mới. Bạn chỉ cần chỉnh sửa một dòng với đường dẫn DOCKER_SOCKET.

[email được bảo vệ]: ~ $ sudo gedit /etc/init/docker.conf

sự miêu tả "Docker daemon"

bắt đầu (hệ thống tập tin và thiết bị mạng IFACE! = lo)
dừng lại trên runlevel [! 2345]

giới hạn nofile 524288 1048576

# Có giới hạn khác không gây ra vấn đề về hiệu suất do chi phí kế toán
# trong nhân. Chúng tôi khuyên bạn nên sử dụng các nhóm để làm kế toán container-cục bộ.
giới hạn nproc không giới hạn

hồi sinh

giết thời gian chờ 20

kịch bản trước khi bắt đầu
# xem thêm https://github.com/tianon/cgroupfs-mount/blob/master/cgroupfs-mount
nếu grep -v ‘^ #’ / etc / fstab | nhóm grep -q \
| | [! -e / Proc / cgroups] \
| | [! -d / sys / fs / cgroup]; sau đó
thoát 0
fi
nếu ! mountpoint -q / sys / fs / cgroup; sau đó
gắn kết -t tmpfs -o uid = 0, gid = 0, mode = 0755 cgroup / sys / fs / cgroup
fi
(
cd / sys / fs / cgroup
đối với sys tính bằng $ (awk ‘! / ^ # / {if ($ 4 == 1) in $ 1}’ / Proc / cgroups); làm
mkdir -p $ sys
nếu ! mountpoint -q $ sys; sau đó
nếu ! gắn kết -n -t cgroup -o $ sys cgroup $ sys; sau đó
rmdir $ sys | | thật
fi
fi
làm xong
)
kịch bản kết thúc

kịch bản
# sửa đổi những điều này trong / etc / default / $ UPSTART_JOB (/ etc / default / docker)
DOCKERD = / usr / bin / dockerd
DOCKER_OPTS =
if [-f / etc / default / $ UPSTART_JOB]; sau đó
. / etc / default / $ UPSTART_JOB
fi
thực hiện "$ DOCKERD" $ DOCKER_OPTS – ghi nhật ký
kịch bản kết thúc

# Đừng phát ra "đã bắt đầu" sự kiện cho đến khi docker.sock sẵn sàng.
# Xem https://github.com/docker/docker/issues/6647
kịch bản sau khi bắt đầu
DOCKER_OPTS =
DOCKER_SOCKET =
if [-f / etc / default / $ UPSTART_JOB]; sau đó
. / etc / default / $ UPSTART_JOB
fi

nếu ! in "%S" "$ DOCKER_OPTS" | grep -qE -e ‘-H | –host’; sau đó
DOCKER_SOCKET = / home / geekflare / docker.sock
khác
DOCKER_SOCKET = $ (printf "%S" "$ DOCKER_OPTS" | grep -oP -e ‘(-H | –host) \ W * unix: // \ K (\ S +)’ | sed 1q)
fi

nếu [-n "$ DOCKER_SOCKET" ]; sau đó
trong khi ! [-e "$ DOCKER_SOCKET" ]; làm
trạng thái initctl $ UPSTART_JOB | grep -qE "(dừng | hồi sinh) /" && thoát 1
tiếng vang "Đang chờ $ DOCKER_SOCKET"
ngủ 0,1
làm xong
tiếng vang "$ DOCKER_SOCKET đã hết"
fi
kịch bản kết thúc

  • Chỉnh sửa tệp docker.socket nằm ở / lib / systemd / system / với vị trí tệp docker.sock được cập nhật.

[email được bảo vệ]: ~ $ sudo gedit /lib/systemd/system/docker.socket

[Đơn vị]

Mô tả = Docker socket cho API

PartOf = docker.service

[Ổ cắm]

ListenStream = / home / geekflare / docker.sock

Ổ cắmMode = 0660

SocketUser = root

Socketgroup = docker

[Tải về]

WantedBy = sockets.target

Chạy lệnh dưới đây để cập nhật các thay đổi (vị trí của tệp sock docker).

[email được bảo vệ]: ~ $ sudo systemctl daemon-tải lại

Bắt đầu Docker

Hãy để bắt đầu dịch vụ docker và kiểm tra trạng thái nếu nó bắt đầu. Bạn sẽ thấy ở cuối nhật ký trạng thái được in trên thiết bị đầu cuối sẽ đưa ra đường dẫn cập nhật của tệp docker.sock.

[email được bảo vệ]: ~ $ sudo dịch vụ docker bắt đầu
[email được bảo vệ]: ~ $ sudo trạng thái docker dịch vụ

docker.service – Công cụ chứa ứng dụng Docker
Đã tải: đã tải (/lib/systemd/system/docker.service; enable; nhà cung cấp cài sẵn: đã bật)
Hoạt động: hoạt động (chạy) kể từ Thứ bảy 2019-11-23 15:39:36 EST; 3s trước
Tài liệu: https://docs.docker.com
Chính PID: 8840 (dockerd)
Nhiệm vụ: 17
Bộ nhớ: 47,6M
Cgroup: /system.slice/docker.service
└─8840 / usr / bin / dockerd -H fd: // –containerd = / run / containerd / containerd.sock

23 tháng 11 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35,091941184-05: 00" level = thông báo cảnh báo ="Nhân của bạn không hỗ trợ thời gian chạy cgroup rt"
23 tháng 11 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35,093149218-05: 00" cấp độ = thông tin tin nhắn ="Đang tải container: bắt đầu."
23 tháng 11 15:39:35 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 35.957842188-05: 00" cấp độ = thông tin tin nhắn ="Cầu mặc định (docker0) được gán với địa chỉ IP 172.17.0.0/16. Daemon
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.078753190-05: 00" cấp độ = thông tin tin nhắn ="Đang tải container: xong."
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.664727326-05: 00" cấp độ = thông tin tin nhắn ="Docker daemon" commit = 481bc77 graphdo (s) = overlay2 phiên bản = 18.09.6
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.817929464-05: 00" mức = thông báo lỗi ="cụm thoát với lỗi: lỗi trong khi tải chứng chỉ TLS trong / var / lib / do
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820439024-05: 00" mức = thông báo lỗi ="thành phần swarm không thể được bắt đầu" lỗi ="lỗi trong khi tải chứng chỉ TLS
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36.820821712-05: 00" cấp độ = thông tin tin nhắn ="Daemon đã hoàn thành việc khởi tạo"
23 tháng 11 15:39:36 geekflare systemd [1]: Đã bắt đầu Docker Application Container Engine.
23 tháng 11 15:39:36 geekflare dockerd [8840]: time ="2019-11-23T15: 39: 36,883382952-05: 00" cấp độ = thông tin tin nhắn ="API lắng nghe /home/geekflare/docker.sock"

Chạy lệnh ls tại đường dẫn của tệp docker.sock, chỉ để xác nhận rằng tệp này đã được tạo khi bạn khởi động dịch vụ docker.

[email được bảo vệ]: ~ $ ls -l
tổng số 466832
-rw-r – r– 1 geekflare geekflare 0 tháng 10 23 05:32]
drwxr-xr-x 9 tomcat tomcat 4096 18 tháng 11 14:30 apache-tomcat-9.0.27
-rw-r – r– 1 geekflare geekflare 10982406 ngày 7 tháng 10 06:21 apache-tomcat-9.0.27.tar.gz
drwxr-xr-x 8 geekflare geekflare 4096 ngày 23 tháng 10 06:05 đầu bếp-repo
-rw-r – r– 1 geekflare geekflare 252269838 Ngày 1 tháng 7 15:16 đầu bếp-máy chủ-core_13.0.17-1_amd64.deb
-rw-r – r– 1 geekflare geekflare 129713682 27 tháng 12 năm 2018 đầu bếp-workstation_0.2.43-1_amd64.deb
drwxr-xr-x 2 geekflare geekflare 4096 Ngày 23 tháng 10 năm 2018 Máy tính để bàn
-rw-r – r– 1 geekflare geekflare 726 27 tháng 7 15:10 Dockerfile
srw-rw —- 1 docker gốc 0 ngày 23 tháng 11 15:39 docker.sock
drwxr-xr-x 2 geekflare geekflare 4096 Ngày 23 tháng 10 năm 2018 Tài liệu
drwxr-xr-x 2 geekflare geekflare 4096 20/07/2020 Tải về
-rw-r – r– 1 geekflare geekflare 8980 ngày 23 tháng 10 năm 2018 example.desktop

Bạn đã cập nhật thành công vị trí của tệp sock docker.

Nếu bạn đang muốn học Docker nhưng bận rộn, thì hãy xem cái này khóa học sụp đổ.

THẺ

  • 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