Score:2

การติดตั้ง Docker ล้มเหลวเนื่องจาก docker.service พยายามเริ่มก่อน docker.socket

ธง br

ฉันกำลังพยายามติดตั้งนักเทียบท่าบนเครื่องผ่าน:

apt-get --allow-downgrades -yq ติดตั้งนักเทียบท่า-ce=18.06.3*

สิ่งนี้ทำให้เกิดข้อผิดพลาดระหว่างสคริปต์หลังการติดตั้ง:

â docker.service - Docker Application Container Engine
   โหลดแล้ว: โหลดแล้ว (/lib/systemd/system/docker.service; เปิดใช้งาน; การตั้งค่าล่วงหน้าของผู้ขาย: เปิดใช้งาน)
   ใช้งานอยู่: กำลังเปิดใช้งาน (รีสตาร์ทอัตโนมัติ) (ผลลัพธ์: exit-code) ตั้งแต่พฤ. 2021-09-02 18:17:18 EDT; 3ms ที่แล้ว
     เอกสาร: https://docs.docker.com
  กระบวนการ: 17110 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
 PID หลัก: 17110 (รหัส=ออก สถานะ=1/ล้มเหลว)
dpkg: แพ็คเกจการประมวลผลข้อผิดพลาด docker-ce (--configure):
 กระบวนการย่อยสคริปต์หลังการติดตั้งแพ็คเกจ docker-ce ที่ติดตั้งส่งคืนสถานะการออกจากข้อผิดพลาด 1
กำลังประมวลผลทริกเกอร์สำหรับ systemd (237-3ubuntu10.51) ...
กำลังประมวลผลทริกเกอร์สำหรับ man-db (2.8.3-2ubuntu0.1) ...
กำลังประมวลผลทริกเกอร์สำหรับ ureadahead (0.100.0-21) ...
พบข้อผิดพลาดขณะประมวลผล:
 นักเทียบท่า-ce

ดูใน journalctl -xe:

-- Unit docker.service เริ่มทำงานแล้ว
Sep 02 16:44:20 office64-001 dockerd[20320]: ไม่สามารถโหลดผู้ฟัง: ไม่พบซ็อกเก็ตผ่านการเปิดใช้งานซ็อกเก็ต: ตรวจสอบให้แน่ใจว่าบริการเริ่มต้นโดย systemd
02 ก.ย. 16:44:20 office64-001 systemd[1]: docker.service: ออกจากกระบวนการหลักแล้ว, รหัส=ออกแล้ว, สถานะ=1/ล้มเหลว
02 ก.ย. 16:44:20 office64-001 systemd[1]: docker.service: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
Sep 02 16:44:20 office64-001 systemd[1]: ไม่สามารถเริ่ม Docker Application Container Engine

ข้อผิดพลาดข้างต้นเกิดขึ้นเมื่อเวลา 16:44:20 น. จากนั้นดูที่ผลลัพธ์ของ journalctl -u docker.socket:

02 กันยายน 16:44:21 office64-001 systemd[1]: กำลังเริ่มต้น Docker Socket สำหรับ API
02 ก.ย. 16:44:21 office64-001 systemd[1]: กำลังฟัง Docker Socket สำหรับ API

ดูเหมือนว่าซ็อกเก็ตจะทำงานในวินาทีหลังจากข้อผิดพลาดด้านบน

หลังจากนี้ นักเทียบท่าจะพยายามรีสตาร์ทและทำสำเร็จ เนื่องจากซ็อกเก็ตมีโอกาสที่จะเปิดใช้งาน อย่างไรก็ตามมันเป็นความเข้าใจของฉันว่า docker.service ควรรอให้ docker.socket พร้อม. จากนักเทียบท่าบริการ:

[หน่วย]
คำอธิบาย=Docker Application Container Engine
เอกสาร = https://docs.docker.com
After=network-online.target docker.socket firewalld.service
ต้องการ=network-online.target
ต้องการ = docker.socket

ปัญหาของฉันคือฉันมีสคริปต์ที่ล้มเหลวเมื่อใดก็ตามที่การติดตั้งล้มเหลว ดังนั้นแม้ว่าจะดูเหมือนว่ามีการติดตั้งนักเทียบท่าอย่างถูกต้อง แต่ก็ทำให้เกิดปัญหาในขณะติดตั้งซึ่งทำให้สคริปต์ทำงานไม่ถูกต้อง

ความคิดใด ๆ ?

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา