Không thể chạy docker hello-world: mountpoint cho các thiết bị không tìm thấy


12

Mới cập bến.

Docker được cài đặt từ công cụ quản lý phần mềm trong mint 17.

Khi tôi chạy docker run hello-worldtôi nhận được:

FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found 

Khi tôi nhìn vào nhật ký dịch vụ ( /var/log/upstart/docker.log) tôi thấy:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 
ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

: phiên bản bến tàu

Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.2.1
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.2.1
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

: thông tin bến tàu

Containers: 2
Images: 1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 5
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 8
Total Memory: 15.6 GiB
Name: DWDEV-HOME-HBABAI
ID: K4GX:DTV6:547V:U3BO:YEOA:WVNU:NZEZ:L3GG:4W7U:IXNS:X3QK:5PVR
WARNING: No memory limit support
WARNING: No swap limit support

Cập nhật:

Cài đặt sudo apt-get install aufs-tools, khởi động lại dịch vụ docker. Tôi không còn thấy lỗi sau:

ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH 

Tuy nhiên, trong nhật ký tôi thấy rằng khi docker đang khởi động, nó đang cảnh báo tôi về điểm gắn bộ nhớ:

INFO[0000] -job init_networkdriver() = OK (0)           
/var/run/docker.sock is up
WARN[0000] mountpoint for memory not found              
INFO[0000] Loading containers: start.         

Tôi có cảm giác nó phải làm với cgroup ... nhưng tôi không biết gì về công nghệ đó (chưa) ...


Có vẻ như câu hỏi của bạn rơi xuống sàn và vỡ thành nhiều mảnh. Hãy đặt nó lại với chúng tôi.
Scott

@ Hủy bỏ - xin lỗi ... hy vọng bây giờ tốt hơn ... cảm ơn vì đã chỉ ra
hba

Câu trả lời:


23

Hóa ra tôi cần cài đặt cgroup-lite. Đó là một phát súng trong bóng tối nhưng tôi đã làm theo câu trả lời này


Bạn biết đấy, một lúc nào đó tôi đã phát hiện ra điều đó, rồi quên nó đi. Bây giờ tìm thấy câu hỏi của bạn khi tôi gặp lại nó và nhớ (và được nâng cấp).
0xC0000022L

Trong Debian , gói tương ứng được gọi là cgroupfs-mount
Bass

1

Tôi sẽ thêm một câu trả lời khác ở đây cho những người nhìn thấy điều này vào năm 2020 trên Debian, vì độ phân giải của tôi cho vấn đề này không có trong bất kỳ lượt truy cập tìm kiếm nào khi tìm thấy chuỗi lỗi "mountpoint cho các thiết bị không tìm thấy".

Lý lịch:

  • Debian 8.11 chạy trên Google Cloud Platform
  • Đã cài đặt Docker hoạt động 5 tuần trước với hai container đang chạy

Đột nhiên nhận ra một cái gì đó đã làm cho các container bị sụp đổ. Nguyên nhân có thể xảy ra từ xa duy nhất mà tôi có thể đưa ra là tôi đã xóa một thư mục mẹ trên máy chủ chứa thư mục con được ánh xạ thành một tập. Một lý do khác có thể là việc gắn một thiết bị vật lý bổ sung.

Kết quả cuối cùng trong mọi trường hợp là việc cố gắng khởi động bất kỳ bộ chứa docker nào dẫn đến thông báo lỗi nhìn thấy trong câu hỏi (" mountpoint for devices not found") và không khởi động lại (và do đó đã nâng cấp kernel).

Các bước tôi đã thực hiện để gỡ lỗi vấn đề là

  1. Kiểm tra các bản ghi : journalctl -xn | less. Không thực sự chứa quá nhiều thông tin bổ sung
  2. Dừng trình nền Docker ( /etc/init.d/docker stop).
  3. Thêm một tệp /etc/docker/daemon.jsontrong đó nội dung duy nhất là{"debug": true}
  4. Hãy thử khởi động lại trình nền docker chỉ để thấy nó thất bại
  5. Kiểm tra các bản ghi, mà bây giờ sẽ được điền với nhiều thông tin hơn

Những cgrouplỗi liên quan là những lỗi dẫn đến câu trả lời:

Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964631675Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964654637Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964667575Z" level=warning msg="Unable to find blkio cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964680057Z" level=warning msg="Unable to find cpuset cgroup in mounts"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.964750643Z" level=warning msg="mountpoint for pids not found"
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: time="2020-01-13T20:17:15.980250151Z" level=debug msg="Cleaning up old mountid : start."
Jan 13 20:17:15 dev-diffia-no dockerd[9022]: Error starting daemon: Devices cgroup isn't mounted

OK, một cái gì đó về cgroupsvà gắn kết. Điều đó dẫn tôi đến một cách giải quyết cho một vấn đề nhóm khác có thể được áp dụng trong trường hợp này, trong đó các lệnh duy nhất có vẻ có hiệu lực là

  1. /etc/init.d/docker stop
  2. cgroupfs-mount
  3. /etc/init.d/docker start

Bây giờ, khi bắt đầu lại Docker, nhật ký vẫn chứa một vài dòng lỗi liên quan đến cgroup:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258571633Z" level=warning msg="Your kernel does not support cgroup memory limit"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258591020Z" level=warning msg="Unable to find cpu cgroup in mounts"
Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.258937091Z" level=warning msg="mountpoint for pids not found"

Nhưng một nửa trong số họ ( blkio, cpuset) đã biến mất, và quan trọng hơn, dòng tiếp theo đọc:

Jan 13 20:24:42 dev-diffia-no dockerd[9775]: time="2020-01-13T20:24:42.259420798Z" level=info msg="Loading containers: start."

Và cuối cùng

Unit docker.socket has finished starting up.

Vì vậy, về cơ bản, việc kể lại các công cụ cgroup đã khắc phục vấn đề. Không cần phải khởi động lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.