Điểm:0

Docker bắt đầu trước khi chia sẻ Virtualbox được gắn kết

lá cờ cx

Thiết lập của tôi: Virtualbox với máy khách Windows Host và Ubuntu Server. Ubuntu hiện là 21.04 nhưng sự cố đã tồn tại trước khi nâng cấp từ 20.04. Và trên Ubuntu Server tôi chạy Docker.

Vấn đề: Các chia sẻ từ hộp ảo mà tôi nghĩ được gắn bởi các addon khách Vbox không được gắn cho đến khi Docker bắt đầu. Các vùng chứa bắt đầu ổn khi cấu hình của chúng được bật/home là ổ đĩa cục bộ, tuy nhiên chúng có dữ liệu trên một phần chia sẻ. Bởi vì Docker bắt đầu trước khi các chia sẻ được gắn kết, các thùng chứa liên kết với điểm gắn kết dưới dạng một thư mục chứ không phải là một lần gắn kết và chúng có thể ghi vào đĩa ở đó lấp đầy hệ thống tệp gốc bằng các tệp vô hình.

Tôi đã không thực hiện bất kỳ thay đổi nào gần đây ngoài việc cập nhật các bản cập nhật của Ubuntu nhưng tôi cảm thấy như mình có thể đã ngủ quên ở đâu đó trong quá khứ để giải quyết vấn đề này. Tôi có thể tìm cách làm điều này một lần nữa nhưng nó có vẻ không phù hợp và tôi tự hỏi liệu có cách nào tốt hơn thông qua systemd hay không.

Tôi đã thử một số chỉ thị hoặc systemd mà không gặp may. RequiresMountsFor và ConditionPathIsMountPoint là hai thứ mà tôi nghĩ có thể hoạt động. Tôi cũng đã cố gắng yêu cầu dịch vụ docker bắt đầu sau dịch vụ khách vbox nhưng điều này cũng không hoạt động.

Bất kỳ đề xuất?

Jeff Schaller avatar
lá cờ ru
Yêu cầu docker bắt đầu sau vbox có vẻ như là giải pháp phù hợp; bạn có thể [chỉnh sửa] câu hỏi của mình để mô tả những gì bạn đã làm cho điều đó và kết quả là gì không? Dấu thời gian "bắt đầu" cho mỗi dịch vụ sẽ cho biết liệu chúng có bắt đầu theo trình tự mong muốn hay không.
lá cờ cx
Cảm ơn, tôi sẽ thực hiện lại các bước tôi đã thực hiện và ghi lại chúng đủ chi tiết để cập nhật bài đăng của tôi ở trên. Cám ơn phản hồi của bạn. Tôi tin rằng điều này có thể được giải quyết trong systemd nhưng các bước tôi đã thực hiện trước đây không hiệu quả.
Điểm:1
lá cờ cx

Giải pháp là ghi đè tệp dịch vụ systemd cho containerd.

chạy

    systemctl chỉnh sửa vùng chứa

thêm phần sau vào vị trí được chỉ định trong các nhận xét.

    [Đơn vị]
    Sau =
    After=network.target local-fs.target vboxadd-service.service
    Yêu cầu=vboxadd-service.service

After= đầu tiên xóa lệnh đó sẵn sàng cho lệnh mới. Cả Sau và Yêu cầu đều cần thiết.Lưu tệp này và sau đó khởi động lại máy chủ.

Hoạt động không có vấn đề gì và được xác nhận bởi 'âm mưu phân tích hệ thống', đây là một lệnh rất hữu ích để thẩm vấn thứ tự chạy systemd của bạn. Phương pháp này sẽ tồn tại trong các bản cập nhật phần mềm

Jeff Schaller avatar
lá cờ ru
Bạn sẽ muốn thực hiện thay đổi đó trong phiên bản /etc/systemd/system/ của tệp, vì phiên bản /lib/systemd sẽ bị ghi đè trong quá trình nâng cấp trong tương lai.
lá cờ cx
Đó chỉ là một liên kết tượng trưng
lá cờ cx
/etc/systemd/system/multi-user.target.wants/containerd.service -> /lib/systemd/system/containerd.service Tôi có nên ngắt liên kết và sao chép tệp và chỉnh sửa không?
lá cờ cx
Trên thực tế cũng tìm thấy điều này bằng cách sử dụng 'systemctl edit containerd'
Jeff Schaller avatar
lá cờ ru
Bạn không muốn chỉnh sửa liên kết tượng trưng trong multi-user.target.want, không -- bạn muốn chỉnh sửa (hoặc tạo) một tệp có tên `/etc/systemd/system/containerd.service`; có lẽ sao chép bản gốc từ/lib và thực hiện các thay đổi?
lá cờ cx
Tôi đã thực hiện nó với một ghi đè ngay bây giờ. Tôi sẽ cập nhật bài viết chính với giải pháp cuối cùng

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.